ホームページ >バックエンド開発 >Python チュートリアル >Pythonで部分文字列を見つける方法
この記事では主に Python文字列 で部分文字列を見つけるためのヒントを紹介します。必要な友人はそれを参照してください
文字列 s2 に s1 が含まれているかどうかを確認するプログラムを作成するように求められた場合。おそらく、次のコードを直感的に書くことができるでしょう:
#determine whether s1 is a sub stringof s2 def isSubstring1(s1,s2): tag = False len1 = len(s1) len2 = len(s2) for i in range(0,len2): if s2[i] == s1[0]: for j in range(0,len1): if s2[i]==s1[j]: tag = True return tag
しかし、これは Python であり、文字列に付属する find() メソッドを使用できるので、これを行うことができます:
def isSubstring2(s1,s2): tag = False if s2.find(s1) != -1: tag = True return tag
悲しいことに、これは次のことが判明しました。 Python in キーワード「in」は、リスト、プリミティブなどデータ型だけでなく、文字列にも使用できます。したがって、ここでそれを行うには 1 行のコードだけが必要です:
def isSubstring3(s1,s2): return s1 in s2
後から気づいたのですが、恥ずかしいです;-)
同様に、文字列内に複数の部分文字列が存在するかどうかを調べて出力したいとします。これらの文字列を取り出して、最初に表示される場所:
def findSubstrings(substrings,destString): res = map(lambda x:str([destString.index(x),x]),filter(lambda x:x in destString,substrings)) if res: return ', '.join(list(res)) ;-) very cool~
更新: 最後にある一見複雑な構文に慣れていなくても問題ありません。より簡潔なリスト解析を使用できます:
def findSubstrings(substrings,destString): return ', '.join([str([destString.index(x),x]) for x in substrings if x in destString])
以上がPythonで部分文字列を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。