如何裁剪文字?

时间:2013-03-21 18:44:16

标签: python string text

我有各种各样的文本,我想要执行类似于裁剪图片的操作。

文档长度为几千字节,但格式为

“等等等等等等等等等等等等等等等。”

我可以使用哪种功能crop(document,"title","end")并让它返回"title body end"

问题是替换像string.replace()这样的文本的函数总是用其他东西替换一些已知文本。但我知道每个文档中的titleend和内容before,之间和之后的内容都是未知的或唯一的。

2 个答案:

答案 0 :(得分:1)

有很多方法,例如:

import re
doc = "blah blah title body end blah blah."
print re.search('title.+?end', doc).group(0) # title body end

答案 1 :(得分:1)

您可以使用方法find来获取起始字符串第一次出现的索引,并使用rfind来获取结束字符串最后一次出现的索引。使用这些to索引,您可以使用Python的切片返回文档的右侧部分。

def crop(doc, start, end):
    return doc[doc.find(start):doc.rfind(end)+len(end)]