如何在Python中检查字符串是否为字母数字?


字符串是由字符组成的数组,用于表示单词或任何句子。Python中的字符串易于使用,因为它不需要显式声明,可以无需任何说明符进行声明。Python中的字符串也有许多内置函数和方法来操作和访问字符串。由于在Python中一切都是对象,即使字符串也是String类的对象,并且有很多方法。

在这篇文章中,我们将使用Python找出给定的字符串是否只包含字母和数字,而没有任何特殊符号。对于上述查询,我们有很多方法。我们将讨论三种方法:

  • 使用isalnum()函数

  • 使用正则表达式

  • 使用isalpha()和isdigit()函数

使用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

使用正则表达式

我们也可以使用正则表达式在Python中检查字符串是否为字母数字。要使用它,我们只需要导入re库,如果它没有预安装,则安装它。导入re库后,我们可以使用正则表达式"^[a-zA-Z0-9]+$"。

如果字符串中存在字母和数字以外的任何特殊字符,则返回False,否则返回True。

示例

在这个例子中,我们使用正则表达式来检查给定的字符串是否为字母数字。

import re str1 = "Tutorialspoint123" str2 = "Tutorialspoint@123" print("Checking whether",str1,"is alphanumeric") print(bool(re.match('^[a zA Z0 9]+$', str1))) print("Checking whether",str2,"is alphanumeric") print(bool(re.match('^[a zA Z0 9]+$', str2)))

输出

上述程序的输出是:

('Checking whether', 'Tutorialspoint123', 'is alphanumeric')
False
('Checking whether', 'Tutorialspoint@123', 'is alphanumeric')
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("Checking whether",str1,"is alphanumeric") print(stringCheck(str1)) print("Checking whether",str2,"is alphanumeric") print(stringCheck(str2))

输出

上述程序的输出是:

('Checking whether', 'Tutorialspoint123', 'is alphanumeric')
True
('Checking whether', 'Tutorialspoint@123', 'is alphanumeric')
True

更新于:2022年10月19日

7K+ 次查看

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.