3

ときどき、1 つの長い文字列の部分文字列を削除または置換します。したがって、部分文字列の開始点と終了点を決定する 1 つの開始パターンと 1 つの終了パターンを決定します。

long_string = "lorem ipsum..white chevy..blah,blah...lot of text..beer bottle....and so to the end"
removed_substr_start = "white chevy"
removed_substr_end = "beer bott"

# this is pseudo method down
STRresult = long_string.replace( [from]removed_substr_start [to]removed_substr_end, "")
4

5 に答える 5

2

を使用して開始インデックスstring.find()と最後のインデックスを取得し、次を使用しstring.rfind()て内部部分を削除します。

lindex = string.find(long_string, removed_substr_start)
rindex = string.find(long_string, removed_substr_end, lindex)
result = long_string[0:lindex] + longstring[rindex:]

参照: http://docs.python.org/2/library/string.html#string.find

于 2013-07-29T09:35:58.133 に答える
1

多くのアプローチを使用した後、正規表現なしでこのソリューションが最適であることがわかりました。

def getString( str, _from, _to ):
    end_from = str.find( _from ) +len( _from)
    return str[ end_from : str.find( _to, end_from ) ]
于 2014-08-20T08:19:10.843 に答える