Python 文字列 find() メソッドと例
⚡ スマートサマリー
Python string find() は、文字列内で部分文字列が最初に出現する位置のインデックスを返す組み込みメソッドです。部分文字列が存在しない場合は -1 を返し、例外を回避します。

何ですか Python 文字列 find()?
Python 文字列検索() は、 Python 指定された文字列内で部分文字列が最初に出現するインデックスを見つけるライブラリです。find() 関数は、指定された部分文字列が指定された文字列に存在しない場合、例外をスローする代わりに -1 を返します。 Pythonの最もよく使われる 文字列メソッド テキストの位置を特定するため。
の構文 Python 文字列検索()
の基本的な構文 Python find() 関数は次のとおりです。
string.find(substring,start,end)
find() メソッドのパラメータ
find() 関数の 3 つのパラメータは次のとおりです。 Python:
- サブストリング: 指定された文字列内で検索したい部分文字列。
- start(オプション)部分文字列の検索を開始する開始値。デフォルト値は0です。
- end(オプション)部分文字列の検索を終了する終了値。デフォルトでは、文字列の長さが設定されます。
デフォルト値を使用した find() メソッドの例
渡されたパラメータ Python find() メソッドは、部分文字列、つまり検索したい文字列に、開始位置と終了位置を加えたものを指定します。開始位置のデフォルト値は 0 で、終了位置は文字列の長さです。
この例では、find() メソッドを Python デフォルト値で。
find() メソッドは、部分文字列を検索し、その部分文字列が最初に出現する位置を返します。部分文字列が指定された文字列内に複数回出現する場合でも、最初に出現した位置(インデックス)が返されます。
例:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials"))
出力:
The position of Tutorials is at: 12
start 引数を使用した find() の例
指定された文字列内で部分文字列を検索し、検索開始位置を指定できます。この目的には、start パラメータを使用できます。
以下の例では、開始位置を 20 と指定し、find() メソッドを Python 検索は20番目の位置から開始されます。ここで、終了位置は文字列の長さになるため、20番目の位置から文字列の末尾まで検索が行われます。
例:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 20))
出力:
The position of Tutorials is at 48
開始引数と終了引数を使用した find() の例
開始パラメータと終了パラメータを使用することで、文字列全体を検索する代わりに、検索範囲を限定することができます。
例:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))
出力:
The position of Tutorials is at 12
文字列内の指定された部分文字列の位置を検索する find() メソッドの例
find() 関数は、部分文字列が最初に現れる位置のインデックスを見つけるのに役立ちます。部分文字列が指定された文字列に存在しない場合は -1 を返します。以下の例は、文字列が存在する場合のインデックスと、検索対象の部分文字列が見つからない場合の -1 を示しています。
例:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Best site is at:", mystring.find("Best site", 5, 40))
print("The position of Guru99 is at:", mystring.find("Guru99", 20))
出力:
The position of Best site is at: 27 The position of Guru99 is at: -1
Python 文字列rfind()
その Python rfind() 関数は find() 関数と似ていますが、唯一の違いは、rfind() は指定された部分文字列の最高インデックスを返すのに対し、find() は最低インデックス、つまり最初のインデックスを返す点です。部分文字列が存在しない場合は、rfind() と find() の両方とも -1 を返します。
以下の例では、「Meet」という文字列があります。 Guru99チュートリアルサイト。最高のサイト Python チュートリアル!」と表示され、find() と rfind() を使用して部分文字列 Tutorials の位置を探します。部分文字列 Tutorials は文字列中に 2 回出現します。
以下は、find() と rfind() の両方が使用される例です。
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))
出力:
The position of Tutorials using find() : 12 The position of Tutorials using rfind() : 48
出力結果から、find() は最初に見つかった Tutorials 部分文字列のインデックスを返すのに対し、rfind() は Tutorials 部分文字列の最後のインデックスを返すことがわかります。
Python 文字列インデックス()
その Python string index() は、find() と同様に、指定された部分文字列の位置を返す関数です。両者の唯一の違いは、index() は部分文字列が文字列内に存在しない場合に例外をスローするのに対し、find() は -1 を返す点です。
以下は、index() と find() の動作を示す実際の例です。
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using index() : ", mystring.index("Tutorials"))
出力:
The position of Tutorials using find() : 12 The position of Tutorials using index() : 12
find() と index() の両方で同じ位置が得られます。指定された部分文字列が文字列に含まれていない場合の例を見てみましょう。
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("test"))
print("The position of Tutorials using index() : ", mystring.index("test"))
出力:
The position of Tutorials using find() : -1
Traceback (most recent call last):
File "task1.py", line 3, in <module>
print("The position of Tutorials using index() : ", mystring.index("test"))
ValueError: substring not found
上記の例では、部分文字列「test」の位置を探そうとしています。部分文字列は指定された文字列には含まれていないため、find() を使用すると位置は -1 になりますが、index() を使用すると上記のようにエラーが発生します。
部分文字列の出現回数の合計を見つけるには
指定された文字列内で部分文字列が何回出現したかを調べるには、find() 関数を使用します。 Pythonfind() の startIndex パラメータを使用して、for ループを使用して文字列を 0 から文字列の末尾までループします。
変数 startIndex と count は 0 に初期化されます。for ループ内で、startIndex を 0 として find() 関数を使用して、指定された文字列内に部分文字列が存在するかどうかを確認します。
find() から返される値が -1 でない場合、startIndex は文字列が見つかったインデックスに更新され、count の値も増加します。
実例は次のとおりです。
my_string = "test string test, test string testing, test string test string"
startIndex = 0
count = 0
for i in range(len(my_string)):
k = my_string.find('test', startIndex)
if(k != -1):
startIndex = k+1
count += 1
k = 0
print("The total count of substring test is: ", count )
出力:
The total count of substring test is: 6
»詳細 Python 文字列分割()
