我有以下文字:
"这就是问题所在。从本文档中提取一些数据。 文字是我正在寻找的。并没有真正发生"
我可以在多个关键字之后插入一个新行:
import fileinput
for line in fileinput.input('text.txt', inplace=1):
print line,
if line.startswith(('Extract', 'Text')):
print ' '
但我找不到在关键字之前添加换行符的解决方案。
最终格式应如下所示:
"这就是问题所在。
从本文档中提取一些数据。
文字正是我要找的。并没有真正发生"
问题在于所有单词都可以更改但关键字。我正在寻找编辑包含关键字的任何文本。
感谢您的建议。
答案 0 :(得分:0)
你的意思是:
import fileinput
for line in fileinput.input('text.txt', inplace=1):
if line.startswith(('Extract', 'Text')):
print '\n'+line+'\n'
else:
print line
答案 1 :(得分:0)
正则表达式子函数可以得到你想要的东西:
import re
keywords_regex = r"(Extract )|(Text )"
line = re.sub(keywords_regex, "\n\1", line) + "\n"
但首先,您必须将输入文本拆分为各自的句子。你可以这样做:
import re
lines = text.split(". ")
# replace the removed periods
lines = [line + "." for line in lines]
keywords_regex = r"(Extract )|(Text )"
lines = [re.sub(keywords_regex, "\n\1", line) + "\n" for line in lines]
" \ 1"是正则表达式的简写"第一个匹配的组。"