0

さまざまなテキストがありますが、画像のトリミングに似た操作を実行したいと思います。

ドキュメントの長さは数キロバイトですが、フォームは

「何とか何とかタイトルボディエンド何とか何とか。」

そのためにどの関数を使用して、crop(document,"title","end")それを返すことができ"title body end"ますか?

問題は、テキストを置き換えるための関数が、string.replace()常に既知のテキストを別のものに置き換えることです。しかし、私titleは各文書の中で、endそしてその後の内容beforeが不明または一意であることを知っています。

4

2 に答える 2

1

たとえば、次のような多くの方法があります。

import re
doc = "blah blah title body end blah blah."
print re.search('title.+?end', doc).group(0) # title body end
于 2013-03-21T18:47:25.293 に答える
1

このメソッドfindを使用して、開始文字列の最初の出現のrfindインデックスを取得し、終了文字列の最後の出現のインデックスを取得できます。これらをインデックスに使用すると、Pythonのスライスを使用してドキュメントの正しい部分を返すことができます。

def crop(doc, start, end):
    return doc[doc.find(start):doc.rfind(end)+len(end)]
于 2013-03-21T18:52:18.057 に答える