Python 如何从字符串中去除除数字以外的字符

Python 如何从字符串中去除除数字以外的字符

在本文中,我们将学习如何在Python中从字符串中去除除数字以外的字符。

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

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

示例

在下面的示例中,我们接受一个字符串作为输入,并使用for循环和if语句除去除数字以外的每个字符。

str1 = "W3lc0m3"
print("The given string is:")

print(str1)

print("Removing all the characters except digits")
print(''.join(i for i in str1 if i.isdigit()))

输出

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

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

使用filter()和lambda()

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

示例

在下面的示例中,我们输入一个字符串,并使用 filter()lambda() 除去除了数字之外的每个字符,然后打印结果字符串。

str1 = "W3lc0m3"

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

print("Removing all the characters except digits")
print(list(filter(lambda i: i.isdigit(), str1)))

输出

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

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

使用正则表达式

正则表达式用于第二种技术。导入re库并安装(如果尚未安装)以使用它。导入re库后,我们可以使用正则表达式“\D”。我们将使用术语“\D”来表示re.sub函数中除数字以外的所有字符,并将不是数字的字符替换为空格。

示例

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

import re
str1 = "W3lc0m3"

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

print("Removing all the characters except digits")
print(re.sub("\D", "", str1))

输出

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

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程