Pythonは文字列が数字か文字かを判断します

1. 一般的に使用される文字列は、次の 4 つの状況に分類されます。
1. 「1」、「可」、「-」などの文字、数字、記号などを含む単一の文字列。
2. 純粋な数値文字列 (「111」、「-111」、「12.35」、「0.456」など)。
3. 混合文字列: '1AaD'、'dfge2'、'kl-):2' など。
4. 純粋な文字列: 'ABc'、'EFG'、'abc' など。

2. 文字列が純粋な数値かどうかを判断します (負の符号と小数点を持つものは純粋な数値ではないことに注意してください)。
1. 組み込み関数 isdigital() を使用します。値の判定には使用できません。そうでない場合はエラーが報告されます。

print('123'isdigit())   # 输出:True
print('2'isdigit())   # 输出:True
print('1.23'isdigit())   # 输出:False
print('-2'.isdigit())    #输出:False
print(1.isdigit())   #输出:SyntaxError: invalid decimal literal

2. 組み込み関数 isnumeric() を使用します。

print('123'.isnumeric())   #输出:True
print('2'.isnumeric())   #输出:True
print('1.23'.isnumeric())   #输出:False
print('-2'.isnumeric())   #输出:False
print(2.isnumeric())   #输出:SyntaxError: invalid decimal literal

3. システム番号の範囲を使用して判断します (int() 関数は文字列として小数点や負の数値をサポートしていないことに注意してください)

print(-888 < int(-2.3) < 999)   #输出:Ture
print(-888 < int(-2) < 999)   #输出:Ture
print(-888 < int('-2') < 999)   #输出:Ture
print(-888 < int('2') < 999)   #输出:Ture
print(-888 < -2 < 999)   #输出:Ture
print(-888 < -2.3 < 999)   #输出:Ture

注: -888 と 999 は任意に指定できます (Python の整数値の範囲は無制限です)。

3. 文字列が純粋な文字 (26 文字を指し、中国語をサポート) であるかどうかを判断します。 isalpha():

print('a123'.isalpha())   #输出:False
print('abc'.isalpha())   #输出:True
print('Abc'.isalpha())   #输出:True
print('abc3'.isalpha())   #输出:False
print('(SBc'.isalpha())   #输出:False
print('中文'.isalpha())    #输出:True

4. 文字列が数字と文字の混合であるかどうかを判断します (中国語をサポート)。 isalnum():

print('123ABc'.isalnum())   #输出:True
print('abcABc'.isalnum())   #输出:True
print('123123'.isalnum())   #输出:True
print('A1B2c3'.isalnum())   #输出:True
print('12.3'.isalnum())   #输出:False
print('-123'.isalnum())   #输出:False
print('中'.isalnum())   #输出:True
print('中文89分'.isalnum())   #输出:True

ニーズに応じてさまざまな判定方法を選択できます。
string関数と連携して文字列をスライスして判定することもできます。
大文字と小文字を判断する必要がある場合は、is lower() や isupper() などの関数を使用できます。

おすすめ

転載: blog.csdn.net/any1where/article/details/128112545
おすすめ