Python中如何检查字符串是否为字母数字?
字符串是用于表示单词或任何句子的字符数组。在Python中,字符串可以很容易地使用,因为它不需要任何显式声明,并且可以在没有任何限定符的情况下声明。Python中的字符串还具有许多内置函数和方法来操作和访问字符串。由于在Python中任何东西都是一个对象,因此字符串也是String类的对象,并具有许多方法。
在本文中,我们将查找给定的字符串是否只包含字母和数字,而没有任何特殊符号,并使用Python。对于上述查询,我们有很多方法。我们将讨论三种方法-
- 使用isalnum()函数
-
使用正则表达式
-
使用isalpha()和isdigit()函数
阅读更多:Python 教程
使用isalnum()函数
isalnum()函数是字符串库的内置函数。它返回布尔输出为True或False。如果字符串的每个字符都是字母或数字,则返回True。
示例1
在下面的示例中,我们取两个字符串str1和str2,并检查它们是否包含除字母和数字之外的任何字符。我们使用isalnum()函数进行检查。
str1 = "Tutorialspoint123"
str2 = "Tutorialspoint@123"
print("Checking whether",str1,"is alphanumeric")
print(str1.isalnum())
print("Checking whether",str2,"is alphanumeric")
print(str2.isalnum())
输出
上面程序的输出是,
('Checking whether', 'Tutorialspoint123', 'is alphanumeric')
True
('Checking whether', 'Tutorialspoint@123', 'is alphanumeric')
False
示例2
下面是另一个此函数的示例。在这里,我们使用简单的字符串,并使用isalnum()方法检查它们是否为字母数字。
s1 = "123abc"
s2 = "123#$%abc"
print("Checking whether",s1,"is alphanumeric")
print(s1.isalnum())
print("Checking whether",s2,"is alphanumeric")
print(s2.isalnum())
输出
上面程序的输出是,
('Checking whether', '123abc', 'is alphanumeric')
True
('Checking whether', '123#$%abc', 'is alphanumeric')
False
使用正则表达式
示例
在此示例中,我们使用正则表达式检查给定的字符串是否为字母数字。
导入 re
str1 = "Tutorialspoint123"
str2 = "Tutorialspoint@123"
打印("检查",str1,"是否是字母数字")
打印(bool(re.match('^[a zA Z0 9]+', str1)))
打印("检查",str2,"是否是字母数字")
打印(bool(re.match('^[a zA Z0 9]+', str2)))
输出
上述程序的输出是,
('检查', 'Tutorialspoint123', '是否是字母数字')
False
('检查', 'Tutorialspoint@123', '是否是字母数字')
False
使用isalpha()和isdigit()函数
另一种实现的方法是逐个检查每个字符是否是字母、数字或其他字符。在此方法中,我们将使用内置方法 isalpha() 和 isdigit() 。
- isAlpha() 方法用于验证当前字符串的所有字符是否都是字母。
-
同样, isdigit() 方法验证当前字符串的所有字符是否都是数字。
使用或运算符将两种方法结合起来,可以验证字母数字值。
例如
在下面的示例中,我们定义了一个函数,检查每个字符是否是字母或数字。如果每个字符都是字母或数字,则函数返回true,否则将返回false。
def stringCheck(string):
flag = True
for i in string:
if i.isalpha() or i.isdigit():
pass
else:
flag = False
return flag
str1 = "Tutorialspoint123"
str2 = "Tutorialspoint@123"
print("检查",str1,"是否是字母数字")
print(stringCheck(str1))
print("检查",str2,"是否是字母数字")
print(stringCheck(str2))
输出
上述程序的输出是,
('检查', 'Tutorialspoint123', '是否是字母数字')
True
('检查', 'Tutorialspoint@123', '是否是字母数字')
True
极客教程