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

Pythonの文字列がASCIIであるかどうかを確認するにはどうすればよいですか?


最も簡単な方法は、文字列の文字をループして、各文字がASCIIであるかどうかを確認することです。

def is_ascii(s):
    return all(ord(c) < 128 for c in s)
print is_ascii('ӓmsterdӒm')
出力 これにより出力が得られます:

False

しかし、この方法は非常に非効率的です。より良い方法は、str.decode('ascii')を使用して文字列をデコードし、例外をチェックすることです。

mystring = 'ӓmsterdӓm'
try:
    mystring.decode('ascii')
except UnicodeDecodeError:
    print "Not an ASCII-encoded string"
else:
    print "May be an ASCII-encoded string"
出力 これにより出力が得られます:

Not an ASCII-encoded string

  1. Pythonで文字列にアルファベットまたは数字が含まれているかどうかを確認するにはどうすればよいですか?

    Python Stringクラスには、文字列に対して呼び出すことができるisalnum()というメソッドがあり、文字列が英数字のみで構成されているかどうかを通知します。次の方法で呼び出すことができます: print( '123abc'.isalnum()) 出力 True print('123#$%abc'.isalnum()) 出力 False 同じ結果に正規表現を使用することもできます。アルファ数値を照合するには、正規表現 ^ [a-zA-Z0-9] + $を使用してre.match(regex、string)を呼び出すことができます。たとえば、 im

  2. Pythonで部分文字列が別の文字列に含まれているかどうかを確認する方法

    Pythonには、文字列が別の文字列のサブ文字列であるかどうかを検索するためのキーワード「in」があります。例 print('ello' in 'hello world')  出力 True サブストリングの最初のインデックスも必要な場合は、find(substr)を使用してインデックスを検索できます。このメソッドが-1を返す場合は、文字列に部分文字列が存在しないことを意味します。たとえば、 print("hello world".find('ello')) 出力  1 文字列「ハリーポッター:炎の