如何在Python中从字符串中删除除数字以外的字符?

如何在Python中从字符串中删除除数字以外的字符?

**在本文中,我们将了解如何在Python中从字符串中删除除数字以外的字符。 **

第一种方法是使用if语句在for循环中,并使用 join() 方法将它们连接起来。我们将使用 for循环 迭代字符串,然后我们将使用if语句检查 每一个 字符是否为数字,如果是数字,我们将进入下一个字符,否则我们将替换该字符。

对于重复迭代序列,请使用for循环。这更像是其他面向对象编程语言中看到的迭代器方法,而不像其他编程语言中找到的关键字for。for循环允许我们针对列表、元组、集合等每个元素运行一系列的指令。

阅读更多:Python 教程

示例

在下面给出的示例中,我们使用字符串作为输入,使用for循环和if语句删除除数字以外的每个字符。 −

str1 = "W3lc0m3"
print("给定字符串是:")

print(str1)

print("移除除了数字以外的所有字符")
print(''.join(i for i in str1 if i.isdigit()))
Python

输出

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

The given string is:
W3lc0m3
Removing all the characters except digits
303
Python

使用filter()和lambda()

第二种方法是使用 filter()lambda() 。我们将使用lambda()函数迭代字符串,并使用filter()方法过滤出不是数字的字符,并打印只包含数字的输出字符串,删除所有其他字符。

示例

在下面给出的示例中,我们使用字符串作为输入,使用filter()和lambda()删除除数字以外的每个字符并打印出结果字符串。

str1 = "W3lc0m3"

print("给定字符串是:")
print(str1)

print("移除除了数字以外的所有字符")
print(list(filter(lambda i: i.isdigit(), str1)))
Python

输出

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

The given string is:
W3lc0m3
Removing all the characters except digits
['3', '0', '3']
Python

使用正则表达式

第二种技术使用正则表达式,需要导入并安装re库。导入re库后,我们可以使用正则表达式“\D”。我们将使用术语“\D”在re.sub函数中表示除数字以外的所有字符,并将非数字字符替换为空格。

示例

在下面给出的示例中,我们使用字符串作为输入,使用正则表达式删除除数字以外的所有字符,并打印结果字符串。 −

import re
str1 = "W3lc0m3"

print("给定字符串是:")
print(str1)

print("移除除了数字以外的所有字符")
print(re.sub("\D", "", str1))
Python

输出

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

The given string is:
W3lc0m3
Removing all the characters except digits
303
Python

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册