python 7つの方法で、文字列にサブストリングが含まれているかどうかを判断します。


1.inとnot inを使う
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文字列に関する資料は他の関連記事に注目してください。