Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有各种各样的文本,我想执行类似于裁剪图片的操作。
该文档的长度为几千字节,但格式为
“等等等等标题正文结束等等等等。”
我可以使用什么功能来做到这一点crop(document,"title","end")并让它返回"title body end"?
crop(document,"title","end")
"title body end"
问题是替换文本的函数string.replace()总是用其他东西替换一些已知的文本。但我知道title在每个文档中,end和但内容before,之间和之后是未知或唯一的。
string.replace()
title
end
before
有很多方法,例如:
import re doc = "blah blah title body end blah blah." print re.search('title.+?end', doc).group(0) # title body end
您可以使用该方法find获取起始字符串rfind第一次出现的索引,并获取结束字符串最后一次出现的索引。使用这些索引,您可以使用 Python 的切片返回文档的正确部分。
find
rfind
def crop(doc, start, end): return doc[doc.find(start):doc.rfind(end)+len(end)]