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