繁体   English   中英

如何使用 python 和 SQL 删除末尾的数字和字母组合,但将数字保留在其他位置?

[英]How to use python and SQL to delete the combination of numbers and letters at the end but keep the numbers in other place?

我需要分别使用 python 和 SQL 做一个正则表达式。

如果我有 3 个字符串,例如:

aaa bbb 1234 cc d e ff fji1223 345
aaa bbb feij sdkj 434343 458iui3 48
aaa bbb 1234 fjie skfj

以上是三个字符串。 我想删除数字和字母的组合,或者只是最后的数字。 但同时,仍将数字保持在中间。 所以字符串应该变成:

aaa bbb 1234 cc d e ff
aaa bbb feij sdkj
aaa bbb 1234 fjie skfj

有人可以帮我吗?

我们可以在这里以多行模式尝试正则表达式替换:

inp = """aaa bbb 1234 cc d e ff fji1223 345
aaa bbb feij sdkj 434343 458iui3 48
aaa bbb 1234 fjie skfj"""

output = re.sub(r'(?:\s+[a-z0-9]*\d[a-z0-9]*)+$', '', inp, flags=re.M)
print(output)

这打印:

aaa bbb 1234 cc d e ff
aaa bbb feij sdkj
aaa bbb 1234 fjie skfj

上面使用的正则表达式模式匹配任何包含至少一个数字的单词。 完整模式匹配每行末尾的任何此类单词序列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM