【Python】文字列の判定方法

python

Pythonでは、文字列に対するさまざまな判定が簡単に行えます。

この記事では、以下の9つの判定方法について説明します。

文字列が空か

文字列が空であるかを判定するには、以下のように書きます。Pythonでは、空文字列は偽(False)とみなされるため、if not s: という条件で判定できます。

s = ""
if not s:
    print("文字列は空です")

このコードは、s が空文字列である場合に “文字列は空です” と表示します。

文字列が一致するか

2つの文字列が一致するかを判定するには、== 演算子を使用します。

s1 = "hello"
s2 = "hello"
if s1 == s2:
    print("文字列は一致します")

このコードは、s1s2 が同じ場合に “文字列は一致します” と表示します。

文字列に指定した文字列が含まれるか

ある文字列が別の文字列に含まれているかを判定するには、in 演算子を使用します。

s = "Pythonは楽しい"
if "楽しい" in s:
    print("文字列に '楽しい' が含まれています")

このコードは、s に “楽しい” という文字列が含まれている場合に “文字列に ‘楽しい’ が含まれています” と表示します。

文字列に漢字が含まれるか

文字列に漢字が含まれているかを判定するには、正規表現を使用します。Unicodeの範囲を指定して検索します。

import re

s = "Pythonは楽しい"
if re.search(r'[\u4e00-\u9fff]', s):
    print("文字列に漢字が含まれています")

このコードは、s にUnicode範囲 \u4e00 から \u9fff の文字(漢字)が含まれている場合に “文字列に漢字が含まれています” と表示します。

文字列にひらがなが含まれるか

文字列にひらがなが含まれているかを判定するには、正規表現を使用します。ひらがなのUnicode範囲を指定して検索します。

if re.search(r'[\u3040-\u309f]', s):
    print("文字列にひらがなが含まれています")

このコードは、s にUnicode範囲 \u3040 から \u309f の文字(ひらがな)が含まれている場合に “文字列にひらがなが含まれています” と表示します。

文字列にカタカナが含まれるか

文字列にカタカナが含まれているかを判定するには、正規表現を使用します。カタカナのUnicode範囲を指定して検索します。

if re.search(r'[\u30a0-\u30ff]', s):
    print("文字列にカタカナが含まれています")

このコードは、s にUnicode範囲 \u30a0 から \u30ff の文字(カタカナ)が含まれている場合に “文字列にカタカナが含まれています” と表示します。

文字列にアルファベットが含まれるか

文字列にアルファベットが含まれているかを判定するには、正規表現を使用します。

if re.search(r'[a-zA-Z]', s):
    print("文字列にアルファベットが含まれています")

このコードは、s に小文字または大文字のアルファベットが含まれている場合に “文字列にアルファベットが含まれています” と表示します。

文字列に数字が含まれるか

文字列に数字が含まれているかを判定するには、正規表現を使用します。

if re.search(r'\d', s):
    print("文字列に数字が含まれています")

このコードは、s に数字(0-9)が含まれている場合に “文字列に数字が含まれています” と表示します。

文字列に記号が含まれるか

文字列に記号が含まれているかを判定するには、正規表現を使用します。記号の範囲を指定して検索します。

if re.search(r'[!-/:-@[-`{-~]', s):
    print("文字列に記号が含まれています")

このコードは、s に特定の範囲の記号が含まれている場合に “文字列に記号が含まれています” と表示します。

これらの方法を使って、文字列の内容を簡単に判定することができます。Pythonの正規表現(reモジュール)を活用することで、複雑な判定もシンプルに行うことができます。

タイトルとURLをコピーしました