【发布时间】:2021-05-10 22:25:44
【问题描述】:
所以我正在编写一些代码,它需要一个字符串,例如 "This$#is% Matrix# %!"并删除所有在它们周围的某处都有字母数字符号的非字母数字符号。我设法做到了,但问题出在字符串上,在任何其他符号之前都有非字母数字符号。我想用“非固定长度”回顾来做到这一点,但这是不可能的。有什么解决方法吗? 代码和一些例子:
decodedString = re.sub(r"[^0-9,a-z,A-Z](?=.+[0-9,a-z,A-Z])", " ",decodedString)
print("1st regex: " + decodedString)
decodedString = re.sub(r" (?= .+[0-9,a-z,A-Z])", "", decodedString)
print("2nd regex: " + decodedString)
(第二个正则表达式删除连续两次的空格,但它也应该只删除它之前的字母数字字符)。
"# @i##U" 应该变成"# @i U",这个是唯一不工作的,因为它删除了开头的非字母数字字符(它返回"i #U")
“This%%is$Matrix%%$script”应该变成“This is Matrix script”
“这个$#是% 矩阵# %!”应该变成“这是矩阵# %!”
我们将不胜感激!
【问题讨论】: