在 Python 中删除字符串中的特殊字符

Muhammad Waiz Khan 2023年1月30日
  1. 在 Python 中使用 str.isalnum() 方法从字符串中删除特殊字符
  2. 在 Python 中使用 filter(str.isalnum, string) 方法从字符串中删除特殊字符
  3. 在 Python 中使用正则表达式从字符串中删除特殊字符
在 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

相关文章 - Python String