私はいくつかの例を見つけようとしていますが、運はありません。誰かがネット上のいくつかの例を知っていますか?見つからないときに返されるものと、開始から終了までを指定する方法を知りたいのですが、これは0、-1になります。
str.index
も使用できます:
>>> 'sdfasdf'.index('cc')
Traceback (most recent call last):
File "<pyshell#144>", line 1, in <module>
'sdfasdf'.index('cc')
ValueError: substring not found
>>> 'sdfasdf'.index('df')
1
あなたが何を探しているのかわかりません、つまり find()
ですか?
>>> x = "Hello World"
>>> x.find('World')
6
>>> x.find('Aloha');
-1
ここ から:
str.find(sub [、start [、end]])
substringが範囲[start、end]に含まれるように、部分文字列subが見つかった文字列の最小インデックスを返します。オプションの引数startおよびendは、スライス表記のように解釈されます。 subが見つからない場合は-1を返します。」
それで、いくつかの例:
>>> str = "abcdefioshgoihgs sijsiojs "
>>> str.find('a')
0
>>> str.find('g')
10
>>> str.find('s',11)
15
>>> str.find('s',15)
15
>>> str.find('s',16)
17
>>> str.find('s',11,14)
-1
正直なところ、これはコマンドラインでPythonを開いて、いじり始めたような状況です。
>>> x = "Dana Larose is playing with find()"
>>> x.find("Dana")
0
>>> x.find("ana")
1
>>> x.find("La")
5
>>> x.find("La", 6)
-1
Pythonのインタープリターは、この種の実験を簡単にします。 (同様の通訳を持つ他の言語でも同じです)
テキスト内の文字列の最後のインスタンスを検索する場合は、rfindを実行できます。
例:
s="Hello"
print s.rfind('l')
出力:3
*インポート不要
完全な構文:
stringEx.rfind(substr, beg=0, end=len(stringEx))
find( sub[, start[, end]])
Substring subが見つかった文字列の最小インデックスを返します。subが[start、end]の範囲に含まれるようにします。オプションの引数startおよびendは、スライス表記のように解釈されます。 subが見つからない場合は-1を返します。
ドキュメント から。
これを試して:
with open(file_dmp_path, 'rb') as file:
fsize = bsize = os.path.getsize(file_dmp_path)
Word_len = len(SEARCH_Word)
while True:
p = file.read(bsize).find(SEARCH_Word)
if p > -1:
pos_dec = file.tell() - (bsize - p)
file.seek(pos_dec + Word_len)
bsize = fsize - file.tell()
if file.tell() < fsize:
seek = file.tell() - Word_len + 1
file.seek(seek)
else:
break
xが文字列であり、文字列でもあるyを検索する場合、2つのケースがあります:case 1:yはxに存在しますx.find(y)= xのyのインデックス(位置)。 ケース2:yが存在しないため、x.find(y) = -1これは、yがxに見つからないことを意味します。