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

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

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

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

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

示例

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

str1 = "Welcome #@ !! to Tutorialspoint123"

print("The given string is")
print(str1)

print("Removing special characters and white spaces")
print(''.join(i for i in str1 if i.isalnum()))

输出

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

The given string is
Welcome #@ !! to Tutorialspoint123
Removing special characters and white spaces
WelcometoTutorialspoint123

使用filter()和isalnum()方法

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

示例

在下面的示例中,我们输入一个字符串,并使用filter()和isalnum()函数去除所有的空格和特殊字符,然后打印结果字符串。

str1 = "Welcome #@ !! to Tutorialspoint123"

print("The given string is")
print(str1)

print("Removing special characters and white spaces")
print(''.join(filter(str.isalnum, str1)))

输出

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

The given string is
Welcome #@ !! to Tutorialspoint123
Removing special characters and white spaces
WelcometoTutorialspoint123

使用正则表达式

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

示例

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

import re
str1 = "Welcome #@ !! to Tutorialspoint123"

print("The given string is")
print(str1)

print("Removing special characters and white spaces")
print(re.sub('[^A-Za-z0-9]+', '', str1))

输出

上述示例的输出如下所示 –

The given string is
Welcome #@ !! to Tutorialspoint123
Removing special characters and white spaces
WelcometoTutorialspoint123

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程