我想用python拆分一个字符串.我已经成功地为一个变量完成了它,但发现它很难为2做.
字符串:
Paragraph 4-2 says. i am going home$ early- Yes.
Run Code Online (Sandbox Code Playgroud)
我需要输出
Paragraph 4-2 says
i am going home
early
Yes
Run Code Online (Sandbox Code Playgroud)
句子应该从.,$和-(但当它在2个数字(4-2)之间时,它不应该分开)
我怎样才能做到这一点?
text.split('.')
Run Code Online (Sandbox Code Playgroud)
UPDATE
新输出应该是:
Paragraph 4-2 says.
i am going home$
early-
Yes.
Run Code Online (Sandbox Code Playgroud)
>>> import re
>>> s = 'Paragraph 4-2 says. i am going home$ early- Yes'
>>>
>>> re.split(r'(?<!\d)\s*[.$-]\s*(?!\d)', s)
['Paragraph 4-2 says', 'i am going home', 'early', 'Yes']
Run Code Online (Sandbox Code Playgroud)
\s*[.$-]\s*匹配的任何的.,$或-由0或多个空格包围(\s*).(?<!\d) 是一个负面的背后隐藏,以确保匹配前面没有数字.(?!\d) 是一个负向前瞻,以确保匹配后面没有数字.您可以在此处阅读有关外观的更多信息.