如何在 Python 中从字符串中删除所有特殊字符、标点符号和空格?

如何在 Python 中从字符串中删除所有特殊字符、标点符号和空格?

在本文中,我们将学习如何在 Python 中从字符串中删除所有特殊字符、标点符号和空格。

第一种方法是使用 isalnum() 方法,通过使用 for 循环迭代字符串的每个字符来执行此操作。我们将使用 isalnum() 检查每个字符是否为字母或数字,如果不是,则将其删除,否则将继续下一个字符。

如果字符串中的每个字符都是字母数字字符,则 isalnum() 方法返回 True(字母或数字)。如果不是,则返回 False。

阅读更多:Python 教程

示例

在下面的示例中,我们将一个字符串作为输入,使用 isalnum() 和 for 循环删除空格和特殊字符,并打印结果字符串 −

str1 = "欢迎 #@ !! 来到教程点123"

print("给定字符串为")
print(str1)

print("删除特殊字符和空格")
print(''.join(i for i in str1 if i.isalnum()))

输出

上面示例的输出如下所示

给定字符串为
欢迎 #@ !! 来到教程点123
删除特殊字符和空格
欢迎来到教程点123

使用 filter() 和 isalnum() 方法

第二种方法是使用 filter()isalnum() 。这种方法类似于第一种方法,但是我们将使用 filter() 而不是使用 for 循环和 if 语句,并使用 isalnum() 来检查给定的字符是否为字母或数字。

示例

在下面的示例中,我们将一个字符串作为输入,使用 filter() 和 isalnum() 删除所有空格和特殊字符,并打印结果字符串 −

str1 = "欢迎 #@ !! 来到教程点123"

print("给定字符串为")
print(str1)

print("删除特殊字符和空格")
print(''.join(filter(str.isalnum, str1)))

输出

上面示例的输出如下所示

给定字符串为
欢迎 #@ !! 来到教程点123
删除特殊字符和空格
欢迎来到教程点123

使用正则表达式

第二种技术使用了正则表达式。导入 re 库并安装它(如果尚未安装)以使用它。导入 re 库后,我们可以使用正则表达式 ” [A-Za-z0-9]+ “。使用 re.sub 技术将特殊字符和空格替换为空格。

示例

在下面的示例中,我们将一个字符串作为输入,使用正则表达式删除所有特殊字符和空格,并打印结果字符串 −

import re
str1 = "欢迎 #@ !! 来到教程点123"

print("给定字符串为")
print(str1)

print("删除特殊字符和空格")
print(re.sub('[^A-Za-z0-9]+', '', str1))

输出

上面示例的输出如下所示 −

给定字符串为
欢迎 #@ !! 来到教程点123
删除特殊字符和空格
欢迎来到教程点123

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程