所以,我想把这篇课文分成几个句子。
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.']