如何在 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.