目录
Check if a String contains only Letters in Python
在 Python 中检查一个字符串是否只包含字母
使用该str.isalpha
方法检查字符串是否仅包含字母,例如
if my_str.isalpha():
. 如果字符串仅包含字母,则该isalpha()
方法将返回,否则返回。True
False
my_str = 'apple' if my_str.isalpha(): # 👇️ this runs print('The string contains only letters') else: print('The string does NOT contain only letters')
我们使用该str.isalpha
方法来检查字符串是否仅包含字母字符。
如果字符串中的所有字符都是字母且至少有一个字符,则str.isalpha()
方法返回,否则返回。True
False
print('avocado'.isalpha()) # 👉️ True print('one two'.isalpha()) # 👉️ False
该str.isalpha
方法将字母字符视为在 Unicode 字符数据库中定义为“字母”的字符。
str.isascii()
方法。print('зьж'.isalpha()) # 👉️ True print('зьж'.isascii()) # 👉️ False
如果字符串为空或字符串中的所有字符都是 ASCII,则str.isascii
方法返回True
,否则返回False
.
或者,您可以使用该re.match()
方法。
re.match
如果您需要检查字符串是否仅包含特定字母,也可以使用该方法。
import re # ✅ Check if a string only contains letters match = re.match(r'^[a-zA-Z]+$', 'apple') if match: # 👇️ this runs print('The string contains only letters') else: print('The string does NOT contain only letters') # ------------------------------ # ✅ Check if a string only contains specific letters my_str = 'abc' match = re.match(r'^[abc]+$', my_str) if match: # 👇️ this runs print('The string contains only letters') else: print('The string does NOT contain only letters')
如果提供的正则表达式在字符串中匹配,则re.match方法返回一个对象。match
如果字符串与正则表达式模式不匹配,则该match
方法返回。None
第一个示例检查字符串是否仅包含 ASCII 字符。
import re match = re.match(r'^[a-zA-Z]+$', 'apple') if match: # 👇️ this runs print('The string contains only letters') else: print('The string does NOT contain only letters')
我们传递给该re.match
方法的第一个参数是一个正则表达式。
方括号[]
用于指示一组字符。
a-z
和字符代表字母的A-Z
小写和大写范围。插入符^
匹配字符串的开头,美元符号$
匹配字符串的结尾。
加号+
使正则表达式匹配前面字符(字母范围)的 1 次或多次重复。
如果您需要检查字符串是否只包含某些字母,您也可以使用这种方法。
import re my_str = 'abc' match = re.match(r'^[abc]+$', my_str) if match: # 👇️ this runs print('The string contains only letters') else: print('The string does NOT contain only letters')
我们只添加了abc
集合中的字符,因此正则表达式检查提供的字符串是否只包含指定的字符。
在 Python 中检查字符串是否只包含字母和数字
使用该str.isalnum()
方法检查字符串是否仅包含字母和数字,例如if string.isalnum():
.
如果字符串中的所有字符都是字母数字且字符串至少包含一个字符,则该str.isalnum()
方法返回,否则
返回。True
False
def is_alphanumeric(string): return string.isalnum() if is_alphanumeric('bobby123'): # 👇️ this runs print('The string contains only letters and numbers') else: print('The string does NOT contain only letters and numbers') print(is_alphanumeric('bobby')) # 👉️ True print(is_alphanumeric('bobby123')) # 👉️ True print(is_alphanumeric('bobbyhadz.com')) # 👉️ False print(is_alphanumeric('')) # 👉️ False print(is_alphanumeric(' ')) # 👉️ False
我们使用该str.isalnum()
方法来检查字符串是否仅包含字母和数字。
如果字符串中的所有字符都是字母数字并且字符串至少包含一个字符,则str.isalnum
方法返回,否则,该方法返回。True
False
print('bobby123'.isalnum()) # 👉️ True # 👇️ contains space print('bobby hadz'.isalnum()) # 👉️ False
或者,您可以使用该re.match()
方法。
使用 re.match() 检查字符串是否只包含字母和数字
使用该re.match()
方法检查字符串是否仅包含字母和数字,例如re.match(r'^[a-zA-Z0-9]+$', string)
.
如果字符串是字母数字,该re.match()
方法将返回一个匹配对象,否则None
返回。
import re def is_alphanumeric(string): return re.match(r'^[a-zA-Z0-9]+$', string) if is_alphanumeric('bobby123'): # 👇️ this runs print('The string contains only letters and numbers') else: print('The string does NOT contain only letters and numbers') # 👇️ <re.Match object; span=(0, 5), match='bobby'> print(is_alphanumeric('bobby')) # 👇️ <re.Match object; span=(0, 8), match='bobby123'> print(is_alphanumeric('bobby123')) print(is_alphanumeric('bobbyhadz.com')) # 👉️ None print(is_alphanumeric('')) # 👉️ None print(is_alphanumeric(' ')) # 👉️ None
如果提供的正则表达式在字符串中匹配,则re.match方法返回一个对象。match
如果字符串与正则表达式模式不匹配,则该match()
方法返回。None
我们传递给该re.match()
方法的第一个参数是一个正则表达式。
import re def is_alphanumeric(string): return re.match(r'^[a-zA-Z0-9]+$', string)
方括号[]
用于指示一组字符。
a-z
和字符代表字母的A-Z
小写和大写范围。0-9
字符与范围内的数字相匹配。
插入符^
匹配字符串的开头,美元符号$
匹配字符串的结尾。
加号+
使正则表达式匹配前面字符(字母和数字范围)的 1 次或多次重复。
如果需要,您还可以调整正则表达式。这是一个检查字符串是否仅包含字母、数字、下划线和连字符的示例。
import re def is_alphanumeric(string): return re.match(r'^[a-zA-Z0-9_-]+$', string) # # 👇️ <re.Match object; span=(0, 5), match='bobby'> print(is_alphanumeric('bobby_hadz-123'))
如果需要调整正则表达式,请在方括号之间添加要匹配的字符。
在 Python 中检查输入是否只包含字母
使用该str.isalpha()
方法检查用户输入是否仅包含字母,例如if user_input.isalpha():
.
如果输入中的所有字符都是字母并且至少包含一个字符,则该isalpha
方法将返回。True
# ✅ Check if input contains only letters user_input = input('Enter a character: ') if user_input.isalpha(): print('Input contains only letters') # ----------------------------------------- # ✅ Check if input contains a single letter user_input = input('Enter a character: ') if len(user_input) == 1 and user_input.isalpha(): print('Input contains only letters') # ------------------------------------------ # ✅ Check if input contains only digits user_input = input('Enter a digit: ') if user_input.isdigit(): print('Input contains only digits') num = int(user_input) print(num)
第一个示例使用str.isalpha()
方法检查输入是否仅存储字母。
user_input = input('Enter a character: ') if user_input.isalpha(): print('Input contains only letters')
The str.isalpha()
method returns True
if all characters in the string are alphabetic and there
is at least one character, otherwise False
is returned.
print('avocado'.isalpha()) # 👉️ True print('one two'.isalpha()) # 👉️ False
If you need to check if an input value stores exactly 1 letter, use the len()
function.
user_input = input('Enter a character: ') if len(user_input) == 1 and user_input.isalpha(): print('Input contains only letters')
The len() function
returns the length (the number of items) of an object.
The argument the function takes may be a sequence (a string, tuple, list, range
or bytes) or a collection (a dictionary, set, or frozen set).
If you need to check if the input value is an integer, use the str.isdigit()
method.
user_input = input('Enter a digit: ') if user_input.isdigit(): print('Input contains only digits') num = int(user_input) print(num)
The str.isdigit
method returns True
if all characters in the string are digits and there is at
least 1 character, otherwise False
is returned.
print('123'.isdigit()) # 👉️ True print('2.5'.isdigit()) # 👉️ False print('-123'.isdigit()) # 👉️ False
请注意,该str.isdigit()
方法返回False
负整数和浮点数。
输入函数接受一个可选prompt
参数并将其写入标准输出而没有尾随换行符。
然后该函数从输入中读取该行,将其转换为字符串并返回结果。
input()
即使用户输入数字,函数的返回值也保证是一个字符串。