如何在 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
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP