【Python】指定した文字列に部分文字列が含まれているか確認するプログラムの作り方
この記事では、入力された文字列の中に特定の部分文字列が存在するかどうかを判定するPythonプログラムを紹介します。文字列操作の基礎となる重要なテクニックなので、ぜひマスターしておきましょう。
アルゴリズム
処理の手順は以下の通りです。
- ユーザーから文字列と部分文字列を入力として受け取り、それぞれ別の変数に格納します。
- 組み込み関数
find()を使って、部分文字列が文字列内に存在するかどうかを判定します。 - 最終的な結果を出力します。
- プログラムを終了します。
サンプルコード
def check(str1, sstr):
if (str1.find(sstr) == -1):
print(sstr,"は指定された文字列の中に存在しません")
else:
print(sstr,"は指定された文字列の中に存在します")
# ドライバーコード
str1 = input("文字列を入力してください ::>")
sstr = input("部分文字列を入力してください ::>")
check(str1, sstr)
find()メソッドの仕組み
find() メソッドは、部分文字列が見つかった場合にその開始位置(インデックス)を返し、見つからなかった場合は -1 を返します。このサンプルコードでは、戻り値が -1 かどうかを判定することで、部分文字列の有無を確認しています。
実行結果
文字列を入力してください ::> python program 部分文字列を入力してください ::> program program は指定された文字列の中に存在します 文字列を入力してください ::> python program 部分文字列を入力してください ::> programming programming は指定された文字列の中に存在しません
補足:in演算子を使ったより簡単な方法
Pythonでは in 演算子を使うことで、さらに簡潔に部分文字列の存在を確認できます。
if sstr in str1:
print("存在します")
else:
print("存在しません")
in 演算子は真偽値(True / False)を返すため、if文と組み合わせて直感的に記述できるのが特徴です。位置情報が必要な場合は find()、存在確認だけでよい場合は in 演算子、というように用途に応じて使い分けるとよいでしょう。
-
指定された文字列がキーワードであるかどうかを確認するPythonプログラム
この記事では、指定された文字列がPythonのキーワード(予約語)であるかどうかを判定する方法について解説します。問題の概要与えられた文字列が、Pythonにおけるキーワードであるかどうかを確認する必要があります。キーワードとは、言語によって特別な用途のために予約されている単語であり、変数名や関数名などの識別子として使用することはできません。例えば「if」「for」「while」「def」などはすべてキーワードです。これらの名前を変数に使おうとすると、構文エラーが発生します。解決策:keywordモジュールの活用Pythonには標準ライブラリとしてkeywordモジュールが用意されており、これ
-
Pythonで文字列がパングラムかどうかを判定するプログラムの作成方法
本記事では、与えられた文字列がパングラムであるかどうかを判定するPythonプログラムの解法とアプローチについて詳しく解説します。 問題の概要 文字列入力が与えられたとき、その文字列がパングラムであるかどうかを判定するPythonプログラムを作成します。 パングラムとは? パングラムとは、英語のアルファベット26文字すべてを少なくとも1回ずつ含む文章や一連の単語のことです。有名な例として「The quick brown fox jumps over the lazy dog」があります。 解法のアプローチ この問題は、以下の手順で解くことができます。 アルファベット全体を表す基準となる文字列