所以,我想把这篇课文分成几个句子。

s = "You! Are you Tom? I am Danny."

所以我得到:
["You!", "Are you Tom?", "I am Danny."]

也就是说,我希望按regex'[.!\?]'拆分文本,而不删除分隔符。在python中,什么是实现这一点的最python方法?
我知道这些问题:
JS string.split() without removing the delimiters
Python split() without removing the delimiter
但我的问题有各种分隔符(.?!),这使问题复杂化。

最佳答案

可以将re.findall与regex.*?[.!\?]一起使用;惰性限定符*?确保每个模式都匹配到要匹配的特定分隔符:

import re

s = """You! Are you Tom? I am Danny."""
re.findall('.*?[.!\?]', s)
# ['You!', ' Are you Tom?', ' I am Danny.']

07-24 09:53
查看更多