文字列に数字のみまたは記号ではなく文字のみが含まれているかどうかを確認しようとしています。
例えば:
>>> only_letters("hello")
True
>>> only_letters("he7lo")
False
シンプル:
if string.isalpha():
print("It's all letters")
str.isalpha()
は、文字列のall文字が文字の場合にのみ真です。
文字列内のすべての文字がアルファベットで、少なくとも1つの文字がある場合はtrueを返し、そうでない場合はfalseを返します。
デモ:
>>> 'hello'.isalpha()
True
>>> '42hello'.isalpha()
False
>>> 'hel lo'.isalpha()
False
str.isalpha()
関数が機能します。すなわち。
if my_string.isalpha():
print('it is letters')
文字列がすべての文字のサブセットのみを含むかどうかを知りたいと思うかもしれないグーグルを介してこの質問を見つける人々のために、私は正規表現を使用することをお勧めします:
import re
def only_letters(tested_string):
match = re.match("^[ABCDEFGHJKLM]*$", tested_string)
return match is not None
string.isalpha()
関数が機能します。
http://www.tutorialspoint.com/python/string_isalpha.htm を参照してください
実際、私たちは21世紀のグローバル化した世界にいるため、人々はASCIIのみを使用して通信しなくなったため、「is it letter only」に関する質問に答えるときは、まあ。 Pythonにはかなりクールな nicodedata ライブラリがあり、特にUnicode文字の分類が可能です。
unicodedata.category('陳')
'Lo'
unicodedata.category('A')
'Lu'
unicodedata.category('1')
'Nd'
unicodedata.category('a')
'Ll'
カテゴリとその略語 は、Unicode標準で定義されています。ここから、次のような関数を簡単に作成できます。
def only_letters(s):
for c in s:
cat = unicodedata.category(c)
if cat not in ('Ll','Lu','Lo'):
return False
return True
その後:
only_letters('Bzdrężyło')
True
only_letters('He7lo')
False
ご覧のとおり、ホワイトリストに登録されたカテゴリは、関数内のTupleによって非常に簡単に制御できます。詳細な議論については この記事 をご覧ください。
人々はstr.isalpha
を使用するように言っているようです。
これは、すべての文字が文字かどうかをチェックする1行の関数です。
def only_letters(string):
return all(letter.isalpha() for letter in string)
all
はブール値の反復可能変数を受け入れ、すべてのブール値がTrue
である場合はTrue
を返します。
より一般的には、イテラブルのオブジェクトがall
と見なされる場合、True
はTrue
を返します。これらはFalse
と見なされます
None
len(list) == 0
)False
。 (だよ)(1)文字列を印刷するときにstr.isalpha()を使用します。
(2)以下のプログラムを参考にしてください:
str = "this"; # No space & digit in this string
print str.isalpha() # it gives return True
str = "this is 2";
print str.isalpha() # it gives return False
注:- Ubuntuで上記の例を確認しました。
正規表現を活用できます。
>>> import re
>>> pattern = re.compile("^[a-zA-Z]+$")
>>> pattern.match("hello")
<_sre.SRE_Match object; span=(0, 5), match='hello'>
>>> pattern.match("hel7lo")
>>>
一致するものが見つかった場合、match()
メソッドはMatch
オブジェクトを返します。それ以外の場合は、None
を返します。
より簡単な方法は、.isalpha()
メソッドを使用することです
>>> "Hello".isalpha()
True
>>> "Hel7lo".isalpha()
False
isalpha()
は、文字列に少なくとも1つの文字があり、文字列のすべての文字がアルファベットの場合にtrueを返します。