我需要找到一个正则表达式,它在不紧跟右括号 ( ')'
) 的句点上拆分字符串,并.
在拆分后保留分隔符 ' '。
例如,如果
str = "This is a great (feeling.) thing. It's very interesting."
正则表达式应将其拆分为两个字符串:
["This is a great (feeling.) thing.", "It's very interesting."]
我从尝试这个和交换,但没有成功。
谢谢您的帮助。
我不知道如何保留 '.' 分割后的分隔符,但我知道如何将它们放回去。我也似乎应该删除分隔符后面的空格。
以下正则表达式将拆分以确保 '.' 分隔符后面没有')'。您可能会得到一个额外的空字符串,可以将其删除:
import re
str = "This is a great (feeling.) thing. It's very interesting."
l = re.split(r'\.(?!\))', str)
# results are: ['This is a great (feeling.) thing', " It's very interesting", '']
if len(l[-1]) == 0:
l.pop(-1) # get rid of last, empty string
l = [s.strip() + '.' for s in l] # get rid of leading and trailing spaces and add back delimiter
print(l)
印刷:
['This is a great (feeling.) thing.', "It's very interesting."]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句