我想找到多次出现感叹号,问号和句点(例如!!?!
,...?
,...!
)并将其替换为最后一个标点符号。
即。 !?!?!?
将成为?
和....!
将成为!
这可能吗?
答案 0 :(得分:3)
text = re.sub(r'[\?\.\!]+(?=[\?\.\!])', '', text)
也就是说,删除任何?!.
个字符序列,这些字符将跟随另一个?!.
字符。
[...]
是一个字符类。它匹配括号内的任何字符。
+
表示“其中一个或多个”。
(?=...)
是一个先行者。它看起来会看到字符串中接下来会发生什么。
答案 1 :(得分:0)
text = re.search('[.?!]*([.?!])', text).group(1)
这种方法的工作方式是括号创建捕获组,允许您通过group
函数访问匹配的文本。