Detailed explanation of Python isalnum() function

"Author's Homepage": Shibie Sanri wyx
"Author's Profile": CSDN top100, Alibaba Cloud Blog Expert, Huawei Cloud Share Expert, Network Security High-quality Creator
"Recommended Column": Xiaobai Zero Basic "Python Beginner to Master"

isalnum() can determine whether the characters of the string are all "letters" and "numbers" .

grammar

string.isalnum()

return value

  • Returns True if all characters in the string are numbers or letters
  • Otherwise return False

Example: Determine whether a string is composed of letters or numbers

print('hello'.isalnum())

output:

True

1. Cases containing letters and numbers

Contains only "numbers" , which are defined as[0-9]

print('0123456789'.isalnum())

output:

True

Contains only "letters" , both uppercase and lowercase, the definition of a letter is[a-z,A-Z]

print('abcABC'.isalnum())

output:

True

Contains "Numbers" and "Letters"

print('123abcABC'.isalnum())

output:

True

2. Situation of Chinese characters and other languages

Not only English (English alphabet), but also Chinese, Japanese, Korean, etc., can be judged.

Contains only "Chinese characters"

print('汉字'.isalnum())

output:

True

Contains only 'Japanese' characters

print('何だよ'.isalnum())

output:

True

Contains only 'Korean' characters

print('한자'.isalnum())

output:

True

Including English, Chinese, Korean, Japanese

print('12aA汉だ한'.isalnum())

output:

True

The language of "other countries" also supports judgments, so I won't list them here.

If you want to distinguish between Chinese and English, you can code and then judge

print("汉字".isalnum())
print("汉字".encode().isalnum())
print("12aA汉だ한".encode().isalnum())
print("12aA".encode().isalnum())

output:

True
False
False
True

From the output results, it can be found that it returns True only if it contains letters and numbers, and returns False when it contains Chinese characters.

Tip: Python3 uses Unicode encoding by default, so Chinese characters will return True; encode() default encoding is UTF-8, after encoding into utf8, Chinese characters will not return True.

3. Empty strings, tabs, special symbols, punctuation marks

Returns False when the string contains empty strings, tabs, special symbols, and punctuation marks

contains "empty string"

print('12 '.isalnum())
print(''.isalnum())
print(' '.isalnum())

output:

False
False
False

Contains green "tabs"

print("\\".isalnum())
print('\n'.isalnum())
print('\na'.isalnum())

output:

False
False
False

Contains special symbols, punctuation marks

print("1+1".isalnum())
print('1,'.isalnum())
print('“1”'.isalnum())

output:

False
False
False

Guess you like

Origin blog.csdn.net/wangyuxiang946/article/details/131535632