2013-03-21 95 views
0

我有各種各樣的文本,我想要執行類似於裁剪圖片的操作。如何裁剪文字?

該文件的長度是幾千字節但形式是

「等等等等標題本體端等等等等。」

我可以用什麼函數來做crop(document,"title","end")並讓它返回"title body end"

問題是,用於替換string.replace()等文本的函數總是用某些其他替換已知文本。但我知道title在每個文件中,end和但內容before之間和之後是未知的或唯一的。

回答

1

您可以使用該方法find讓你的起始字符串和rfind中第一次出現的索引來獲取結束最後一次出現的索引串。通過這些索引,您可以使用Python的切片返回文檔的正確部分。

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

的方法有很多,例如:

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