我正在尝试摆脱.txt文件中的某种文本模式,该模式类似于:
“示例删除词在第一块
要保留的第一句话。
示例删除词在第二块
保留第二句话。
示例删除词在第三块
保留第三句话。
示例删除词在第四块“
我想要的输出看起来像:
“要保留的第一句话。
保留第二句话。
保留第三句话。“
所以我想做的是摆脱字符串“ example”和“ block”之间的所有文本,包括字符串本身。知道我将如何使用R或Python进行此操作吗?
在R中,您可以使用str_remove_all
中的stringr
stringr::str_remove_all(string, "example.*block")
#[1] " First sentence to keep.\nSecond sentence to keep.\nThird sentence to keep.\n"
您是否已经提前知道模式,或者模式曾经改变过?如果不是,那么您可以阅读文本文件,逐行阅读,分割句子以方便操作,然后寻找模式。对于没有它的行,可以将其连接到新字符串。我下面的东西似乎起作用:
f = open("mytext.txt", "r")
final = ""
for line in f:
words = line.split(" ")
if(words[0] == "example" or words[len(words) - 1] == "block\n"):
continue
else:
final = final + line
print(final)