Sometimes we want to ensure a Python string has no punctuation or other whitespace. We can see if it contains just letters and digits.
With isalnum
, we have a method that loops over the characters in the string. If any whitespace, punctuation, or other characters are found, it returns false.
Here we see a program that uses isalnum
. We can call isalnum()
on a string
instance, or use str.isanum
and pass the string
as the argument.
string
.isalnum
to return true are the ones with no whitespace or punctuation (and at least 1 character).tests = []
tests.append("Dot Net Perls")
tests.append("DotNetPerls")
tests.append("Dot_Net_Perls")
tests.append("Dot0123")
tests.append("dotnetperls")
tests.append("123")
tests.append("")
for test in tests:
# Test each string for alphanumeric status with isalnum.
if test.isalnum():
print("isalnum: [", test, "]")
else:
print("false: [", test, "]")false: [ Dot Net Perls ]
isalnum: [ DotNetPerls ]
false: [ Dot_Net_Perls ]
isalnum: [ Dot0123 ]
isalnum: [ dotnetperls ]
isalnum: [ 123 ]
false: [ ]
Often we want to validate strings before putting them into a dictionary or list. Isalnum is a good method to remember—it is easier than trying to write a similar method.
When possible, methods like isalnum()
from the standard library should be reused. They do not need testing—they are convenient and easy to understand.