Python - 文字列を検索する

任意の文字列を含むか判定: in 演算子

in 演算子は、文字列の中に任意の文字列が含まれているか判定するために使用します。含まれている場合は True、含まれていない場合は False を返します。ただし、in 演算子は大文字・小文字を区別します。

print("G" in "Google") # True
print("y" in "Yahoo!") # False
任意の文字列を含むか判定: in 演算子

in 演算子は、文字列だけではなくリストやタプル、辞書に対しても使用可能です。

list = ["a", "b", "c"]

print("a" in list) # True
print("x" in list) # False
任意の文字列を含むか判定: in 演算子

任意の文字列の位置を取得: find(), rfind()

find 関数は、文字列から任意の文字の位置を取得できます。取得する文字列の位置は 0 から始まります。つまり、検索対象の文字が1文字目にヒットした場合、0 が返されます。文字列が含まれていない場合は -1 が返されます。

print("Google".find("G")) # 0
print("Google".find("g")) # 3
print("Google".find("y")) # -1
任意の文字列の位置を取得: find()

検索する文字列が複数存在した場合、返されるのは最初の文字列の位置のみです。

print("Google".find("o")) # 1
任意の文字列の位置を取得: find()

rfind() 関数は、文字列を後ろから(右側から)検索して位置を返します。

print("Google".rfind("o")) # 2
任意の文字列の位置を取得: rfind()

任意の文字列の個数をカウント: count()

count 関数は、文字列に任意の文字が何個含まれているかをカウントします。

print("Google".count("o")) # 2
print("Google".count("y")) # 0
任意の文字列の位置を取得: count()

任意の文字列の位置を正規表現で取得: re.search()

re.search 関数は、正規表現で特定の文字列を含むか判定します。正規表現を使用するためには標準ライブラリの re モジュールを import します。

import re

print(re.search("G", "Google"))
# <re.Match object; span=(0, 1), match='G'>

print(re.search("y", "Google"))
# None
任意の文字列の位置を取得: re.search()

正規表現ですべての結果を取得: re.findall()

re.findall 関数は、正規表現でマッチするすべての部分を文字列のリストとして返します。

import re

print(re.findall("o", "Google"))
# ['o', 'o']
正規表現ですべての結果を取得: re.findall()
0
SHARE
Twitter
@murashun
お問い合わせ
murashun@gmail.com
ご質問(マシュマロ)
https://marshmallow-qa.com/murashun
ご支援(Stripe)
https://checkout.stripe.com/