python 7つの方法で、文字列にサブストリングが含まれているかどうかを判断します。
1.inとnot inを使う
inとnot inはPythonでよく使われているキーワードです。メンバー演算子に分類します。
この2つのメンバー演算子を使って、オブジェクトが他のオブジェクトにあるかどうかを直感的に明確に判断することができます。例は以下の通りです。
文字列オブジェクトのfindメソッドを使用して、サブストリングが見つかったら、指定されたサブストリングの文字列の出現位置を返します。見つけられなかったら、-1を返します。
文字列オブジェクトにはindex方法があります。指定されたサブストリングがこの文字列で初めて発生したインデックスを返します。見つからないと例外が出ますので、キャプチャに注意してください。
indexという曲線を使って国を救う考え方も、countの方法で判断できます。
判定結果が0より大きい限り、サブストリングは文字列に保存されていると説明します。
第一の方法では、nとnot inを使って、他の文字の中にサブストリングが存在するかどうかを判断します。実際にだまされて、inとnot inを使用すると、Pythonインタプリタはまず対象があるかどうかを確認します。contains.魔法の方法
もしあれば実行します。もしないなら、Pythonは自動的にシーケンス全体を繰り返します。必要な項目を見つけたら、Trueに戻ります。
例は以下の通りです
6.operatorを借りる
operatorモジュールはpythonに内蔵されているオペレータ関数インターフェースであり、いくつかの算術と内蔵動作を比較する関数を定義しています。operatorモジュールはcで実現されますので、実行速度はpythonコードより速いです。
operatorでは、サブストリングが文字列内にあるかどうかを容易に判断する方法があります。
検索機能といえば、専門的なツールであり、複雑な検索規則でも満足できます。
文字列が他の文字列に存在するかどうかを判断するには、正則を使うのは役不足です。
inとnot inはPythonでよく使われているキーワードです。メンバー演算子に分類します。
この2つのメンバー演算子を使って、オブジェクトが他のオブジェクトにあるかどうかを直感的に明確に判断することができます。例は以下の通りです。
>>> "llo" in "hello, python"
True
>>>
>>> "lol" in "hello, python"
False
2.findの使い方文字列オブジェクトのfindメソッドを使用して、サブストリングが見つかったら、指定されたサブストリングの文字列の出現位置を返します。見つけられなかったら、-1を返します。
>>> "hello, python".find("llo") != -1
True
>>> "hello, python".find("lol") != -1
False
>>
3.index方法を使用する文字列オブジェクトにはindex方法があります。指定されたサブストリングがこの文字列で初めて発生したインデックスを返します。見つからないと例外が出ますので、キャプチャに注意してください。
def is_in(full_str, sub_str):
try:
full_str.index(sub_str)
return True
except ValueError:
return False
print(is_in("hello, python", "llo")) # True
print(is_in("hello, python", "lol")) # False
4.countの使い方indexという曲線を使って国を救う考え方も、countの方法で判断できます。
判定結果が0より大きい限り、サブストリングは文字列に保存されていると説明します。
def is_in(full_str, sub_str):
return full_str.count(sub_str) > 0
print(is_in("hello, python", "llo")) # True
print(is_in("hello, python", "lol")) # False
5.魔法による方法第一の方法では、nとnot inを使って、他の文字の中にサブストリングが存在するかどうかを判断します。実際にだまされて、inとnot inを使用すると、Pythonインタプリタはまず対象があるかどうかを確認します。contains.魔法の方法
もしあれば実行します。もしないなら、Pythonは自動的にシーケンス全体を繰り返します。必要な項目を見つけたら、Trueに戻ります。
例は以下の通りです
>>> "hello, python".__contains__("llo")
True
>>>
>>> "hello, python".__contains__("lol")
False
>>>
この使い方はinとnot inを使うのと同じですが、わざわざこのように書いて、コードの理解を高める人もいると思います。6.operatorを借りる
operatorモジュールはpythonに内蔵されているオペレータ関数インターフェースであり、いくつかの算術と内蔵動作を比較する関数を定義しています。operatorモジュールはcで実現されますので、実行速度はpythonコードより速いです。
operatorでは、サブストリングが文字列内にあるかどうかを容易に判断する方法があります。
>>> import operator
>>>
>>> operator.contains("hello, python", "llo")
True
>>> operator.contains("hello, python", "lol")
False
>>>
7.正則マッチを使う検索機能といえば、専門的なツールであり、複雑な検索規則でも満足できます。
文字列が他の文字列に存在するかどうかを判断するには、正則を使うのは役不足です。
import re
def is_in(full_str, sub_str):
if re.findall(sub_str, full_str):
return True
else:
return False
print(is_in("hello, python", "llo")) # True
print(is_in("hello, python", "lol")) # False
以上はpythonの7つの方法です。文字列が子列の詳細を含むかどうかを判断します。python文字列に関する資料は他の関連記事に注目してください。