我想分析一个xml文件,程序的一部分将数据拆分为句子,但是行尾字符消失了……我需要它们在句子的开头和结尾添加带有xml标签的注释。
现在我有:
import re
line_end_chars = "!", "?", ".",">"
regexPattern = '|'.join(map(re.escape, line_end_chars))
line_list = re.split(regexPattern, texte)
问题
如果我使用texte运行此代码
" Je pense que cela est compliqué de coder. Où puis-je apprendre?"
那会给我的:
["Je pense que cela est compliqué de coder",
"Où puis-je apprendre"]
而不是我正在寻找的是:
["Je pense que cela est compliqué de coder.",
"Où puis-je apprendre?"]
之后,我可以做一个
.replace
代码来添加我的xml标签。 最佳答案
一种可能的解决方案是使用re.sub
而不是re.split
然后使用str.splitlines()
:
import re
line_end_chars = "!", "?", ".",">"
s = "Je pense que cela est compliqué de coder. Où puis-je apprendre?"
print( re.sub('(' + '|'.join(re.escape(ch) for ch in line_end_chars) + ')\s*', r'\1\n', s).splitlines() )
印刷品:
['Je pense que cela est compliqué de coder.', 'Où puis-je apprendre?']