Python の文字列に単語が存在するかどうかを確認する
-
in
演算子を使用して、Python の文字列に単語が存在するかどうかを確認する -
String.find()
メソッドを使用して、Python の文字列に単語が存在するかどうかを確認する -
String.index()
メソッドを使用して、Python の文字列に単語が存在するかどうかを確認する -
search()
メソッドを使用して、Python の文字列に単語が存在するかどうかを確認する
今日の天気はとてもいい
という文字列があるとします。 "weather"
という単語が文字列に含まれているかどうかを確認したい場合は、複数の方法で確認できます。
このガイドでは、in
演算子、string.find()
メソッド、string.index()
メソッド、および 正規表現(RegEx)
について説明します。
in
演算子を使用して、Python の文字列に単語が存在するかどうかを確認する
リスト、タプル、配列などの文字列またはシーケンス内の単語を検索する最も簡単な方法の 1つは、in
演算子を使用することです。 条件で使用するとブール値を返します。
true
または false
のいずれかです。 指定された単語が存在する場合、ステートメントは true
と評価されます。 単語が存在しない場合は、false
と評価されます。
この演算子は、大文字と小文字を区別します
。 次のコードで Fun
という単語を見つけようとすると、出力に Fun not found
というメッセージが表示されます。
コード例:
# Python 3.x
sentence = "Learning Python is fun"
word = "fun"
if word in sentence:
print(word, "found!")
else:
print(word, "not found!")
出力:
#Python 3.x
fun found!
大文字と小文字を気にせずに文字列内の単語をチェックしたい場合は、メインの文字列と検索する単語を小文字に変換する必要があります。 次のコードでは、Fun
という単語をチェックします。
コード例:
# Python 3.x
sentence = "Learning Python is fun"
word = "Fun"
if word.lower() in sentence.lower():
print(word, "found!")
else:
print(word, "not found!")
出力
#Python 3.x
Fun found!
String.find()
メソッドを使用して、Python の文字列に単語が存在するかどうかを確認する
find()
メソッドを文字列で使用して、特定の単語をチェックできます。 指定された単語が存在する場合、メイン文字列の単語の 一番左
または 開始インデックス
を返します。
それ以外の場合は、単純にインデックス –1
を返します。 find()
メソッドは spaces
のインデックスもカウントします。 次のコードでは、9
が Python の開始インデックス、文字 P
のインデックスであるため、出力 9
を取得します。
このメソッドもデフォルトで大文字と小文字が区別されます。 python
という単語をチェックすると、-1
が返されます。
コード例:
# Python 3.x
string = "Learning Python is fun"
index = string.find("Python")
print(index)
出力:
#Python 3.x
9
String.index()
メソッドを使用して、Python の文字列に単語が存在するかどうかを確認する
index() は find() メソッドと同じです。 このメソッドは、メイン文字列のサブ文字列の最小インデックスも返します。
唯一の違いは、指定された単語または部分文字列が存在しない場合、find()
メソッドはインデックス –1 を返し、index()
メソッドは例外 (value error exception)
を発生させることです。
コード例:
# Python 3.x
mystring = "Learning Python is fun"
print(mystring.index("Python"))
出力:
#Python 3.x
9
次に、文に存在しない単語を見つけようとします。
# Python 3.x
mystring = "Learning Python is fun"
print(mystring.index("Java"))
出力:
#Python 3.x
ValueError Traceback (most recent call last)
<ipython-input-12-544a99b6650a> in <module>()
1 mystring = "Learning Python is fun"
----> 2 print(mystring.index("Java"))
ValueError: substring not found
search()
メソッドを使用して、Python の文字列に単語が存在するかどうかを確認する
search()
メソッドによる文字列のパターン マッチングにより、特定の単語をチェックできます。 このメソッドは re
モジュールで利用できます。
ここでのre
は正規表現
を表します。 検索メソッドは 2つの引数を受け入れます。
最初の引数は検索する単語で、2 番目の引数は文字列全体です。 ただし、この方法は他の方法よりも遅くなります。
コード例:
# Python 3.x
from re import search
sentence = "Learning Python is fun"
word = "Python"
if search(word, sentence):
print(word, "found!")
else:
print(word, "not found!")
出力:
#Python 3.x
Python found!
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn