Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのisnumeric()メソッドでUnicode文字列が数字のみかどうか判定する方法

PythonでUnicode文字列に数字(数値)だけが含まれているかどうかを確認したい場合、isnumeric() メソッドを使うのが便利です。このメソッドは、文字列がすべて数値として扱える文字で構成されている場合に True を返し、それ以外の場合は False を返します。

isnumeric() はUnicode文字列専用に用意された特殊なメソッドで、半角数字だけでなく、全角数字や漢数字(一、二、三など)といったUnicode上の数値文字も判定対象になります。

使用例

print(u"1234".isnumeric())
print(u"1,a234".isnumeric())

実行結果

True
False

1行目の u"1234" はすべてが数字で構成されているため True が返されます。一方、2行目の u"1,a234" にはカンマやアルファベットが含まれているため、False が返されます。

補足:類似メソッドとの違い

Pythonには似たような判定メソッドがいくつかあります。用途に応じて使い分けると良いでしょう。

  • isdigit():半角・全角の数字(0〜9)などを判定します。ただし、漢数字やローマ数字は対象外です。
  • isdecimal():10進数の数字のみを判定する最も厳密なメソッドです。
  • isnumeric():数字に加えて、漢数字や分数表現など「数値を表す文字」全般を判定できる最も広い範囲のメソッドです。

このように、Unicode文字列が数字のみかどうかを手軽にチェックしたい場合は、isnumeric() メソッドを使うことでシンプルに実装できます。

  1. Swiftで文字列に特殊文字が含まれているか判定する2つの方法

    Swiftで文字列に特殊文字が含まれているかどうかを確認したい場合、if文やswitch文による条件分岐でも実現できますが、その場合は膨大な条件式を記述する必要があり、コーディングにも実行速度にも大きな負担となってしまいます。そこで本記事では、正規表現を使う方法と、Swift標準のCharacterSetを活用する方法の2通りを、具体的なコード例とともにわかりやすく解説します。 方法1:正規表現を使って判定する まずはString型のextensionを作成し、特殊文字の有無を判定するプロパティを追加しましょう。 extension String { var containsSpeci

  2. 【Python】文字列がすべてユニークな文字で構成されているか判定する方法

    本記事では、与えられた文字列に含まれる文字がすべて一意(ユニーク)であるかどうかを判定するPythonプログラムについて、その解法とアプローチをわかりやすく解説します。 問題の概要 文字列が入力として与えられたとき、その文字列に含まれるすべての文字が重複なく一意であるかどうかを判定します。たとえば「abcde」はすべて異なる文字で構成されているためTrue、「tutorialspoint」のように同じ文字が複数回出現する場合はFalseとなります。 アプローチ この問題は、以下のような手順で効率的に解くことができます。 ブール値の配列を用意する: 各インデックス i が「アルファベット(AS