Pythonで大文字と小文字を区別しない文字列比較を行う方法
Pythonで大文字と小文字を区別せずに文字列を比較したい場合は、lower()メソッドを使って両方の文字列をすべて小文字に変換してから比較するのが最も一般的で簡単な方法です。
サンプルコード
以下は、大文字と小文字を区別しない文字列比較の例です。
string1 = 'Star Wars'
string2 = 'star wars'
if string1.lower() == string2.lower():
print("2つの文字列は大文字と小文字を無視すると一致します")
else:
print("2つの文字列は一致しません")このコードでは、string1とstring2の両方にlower()を呼び出すことで、「Star Wars」と「star wars」という表記の違い(大文字・小文字の差)を吸収し、純粋な文字の並びとして比較しています。
実行結果
このコードを実行すると、次の出力が得られます。
2つの文字列は大文字と小文字を無視すると一致します
補足:より厳密な比較には casefold() を使う
英語圏のテキストであればlower()で十分ですが、ドイツ語などの特殊な文字(例:「ß」)を含む可能性がある場合は、casefold()メソッドを使うとより堅牢なケースレス比較ができます。casefold()はlower()よりも積極的に文字を正規化するため、国際化対応のアプリケーションで推奨される方法です。
if string1.casefold() == string2.casefold():
print("2つの文字列は一致します")
-
Pythonで文字列を逆順にする方法|スライスとreversed()の使い方を解説
Pythonでは、文字列スライスやrange演算子を活用することで、文字列を簡単に逆順(反転)にすることができます。この記事では、代表的な2つの方法をわかりやすく解説します。 方法1:スライス記法 [::-1] を使う(推奨・高速) 最もシンプルで一般的なのが、スライス記法を使う方法です。ステップに -1 を指定するだけで、文字列を後ろから前へ一文字ずつ取り出せます。 >>> Hello[::-1] olleH >>> Halloween[::-1] neewollaH スライスの仕組み 角括弧 [] の中には、コロン「:」で区切った3つの値を指定できます
-
Pythonで文字列が英数字のみかどうかを判定する方法【isalnum()と正規表現】
Pythonでは、文字列が英数字(アルファベットと数字)のみで構成されているかどうかを簡単に判定できます。主な方法は2つあります。文字列クラスに組み込まれている isalnum() メソッドを使う方法と、正規表現を使う方法です。 isalnum()メソッドを使う方法 Pythonの文字列クラスには isalnum() というメソッドが用意されています。このメソッドを文字列に対して呼び出すと、文字列が英数字のみで構成されている場合に True を、記号などが含まれる場合には False を返します。 >>> 123abc.isalnum() True >>>