在 Python 中删除字符串中的特殊字符
Muhammad Waiz Khan
2023年1月30日
-
在 Python 中使用
str.isalnum()
方法从字符串中删除特殊字符 -
在 Python 中使用
filter(str.isalnum, string)
方法从字符串中删除特殊字符 - 在 Python 中使用正则表达式从字符串中删除特殊字符
在本文中,我们将讨论在 Python 中删除字符串中所有特殊字符的各种方法。我们可以通过使用函数或正则表达式从字符串中删除特殊字符。
在 Python 中使用 str.isalnum()
方法从字符串中删除特殊字符
str.isalnum()
方法如果字符是字母数字字符,即字符串中没有特殊字符,则返回 True
。如果字符串中有任何特殊字符,它将返回 False
。
为了从字符串中删除特殊字符,我们必须检查字符是否是字母数字字符,否则将其删除。这个方法的实现例子如下。
string = "Hey! What's up bro?"
new_string = "".join(char for char in string if char.isalnum())
print(new_string)
输出:
HeyWhatsupbro
在 Python 中使用 filter(str.isalnum, string)
方法从字符串中删除特殊字符
为了从字符串中删除特殊字符,我们也可以使用 filter(str.isalnum, string)
方法,与上面解释的方法类似。但在这种方法中,我们将不使用 str.isalnum()
方法的 for
循环和 if
语句,而是使用 filter()
函数。
示例代码:
string = "Hey! What's up bro?"
new_string = "".join(filter(str.isalnum, string))
print(new_string)
HeyWhatsupbro
在 Python 中使用正则表达式从字符串中删除特殊字符
为了从字符串中删除特殊字符,我们可以写一个正则表达式来自动删除字符串中的特殊字符。这个正则表达式将是 [^a-zA-Z0-9]
,其中^
代表除了括号中的字符之外的任何字符,a-zA-Z0-9
代表字符串只能有小写字母以及数字。
示例代码:
import re
string = "Hey! What's up bro?"
new_string = re.sub(r"[^a-zA-Z0-9]", "", string)
print(new_string)
输出:
HeyWhatsupbro