在 Python 中去除多个字符
-
使用
str.replace()
去除 Python 字符串中的多个字符 -
使用
re.sub()
函数去除 Python 字符串中的多个字符 -
使用
string.translate()
方法去除 Python 字符串中的多个字符
剥离字符串对象中的字符是程序员必须知道的一项重要任务。剥离意味着你应该能够从任何位置删除字符。
在开始剥离之前,你必须记住 Python 字符串对象是不可变的。因此,它们不能被修改。因此,我们将在每个示例中将剥离的字符串存储在一个新字符串中。
在本教程中,我们将研究从 Python 中的任何位置剥离多个字符的几种方法和示例。
使用 str.replace()
去除 Python 字符串中的多个字符
str.replace()
方法提供了剥离功能。让我们先看一下代码及其输出:
original_string = "!(Hell0o)"
characters_to_remove = "!()0"
new_string = original_string
for character in characters_to_remove:
new_string = new_string.replace(character, "")
print(new_string)
输出:
Hello
你将要做的是创建一个要从字符串中删除的字符串。
现在,将原始字符串分配给新字符串以保持原始字符串不变。
接下来,你将使用 for
循环通过源字符串来查找文献。在循环内部,你将检查要删除的字符,并使用 str.replace()
方法将它们替换为不带空格的字符。然后,你将获得所需的输出。
该函数的语法如下。
string.replace(old_character, new_character, count)
字符串是要从中删除字符的字符串。
第一个参数 old character
表示你要替换的字符。
new character
参数是你要替换的字符。
第三个参数 count
是一个可选参数,表示你希望替换的那个字符的出现次数。如果传递 2,该函数将替换该字符的两次出现。
使用 re.sub()
函数去除 Python 字符串中的多个字符
这是在 Python 中从字符串中去除字符的另一种常用方法。此函数是 re 模块的一部分,它由你可以使用的正则表达式或正则表达式操作组成。
对于这个函数,让我们考虑一个不同的例子:
import re
original_string = "!(pyth000on)"
characters_to_remove = "!()0"
pattern = "[" + characters_to_remove + "]"
new_string = re.sub(pattern, "", original_string)
print(new_string)
输出:
python
在这里,我们定义了一个字符串,该字符串由我们要从源字符串中删除的字符组成。然后我们使用了 re.sub()
函数,它接受三个参数:正则表达式模式、要替换它的字符串和源字符串。
从输出中,我们可以看到它已经删除了字符。我们也可以尝试更长的句子。例如。
import re
original_string = "!(pyth000on is mYy pro0gra@mm!ing langu@age3)"
characters_to_remove = "!()0Y@!3"
pattern = "[" + characters_to_remove + "]"
new_string = re.sub(pattern, "", original_string)
print(new_string)
输出:
python is my programming language
使用 string.translate()
方法去除 Python 字符串中的多个字符
你还可以使用 string.translate()
方法从 Python 字符串中删除特定数量的字符。该函数的语法如下。
string.translate(table)
这个函数接受一个参数,table
。该表可以是描述要替换的字符的字典或映射表。你可以为 x 和 y 分配空值以去除字符。
例如:
s = "Python Programming"
x = "P"
y = "B"
table = s.maketrans(x, y)
print(s.translate(table))
输出:
BythonBrogramming
总之,在 Python 中有三种常用方法可以从字符串对象中去除字符。在这三个中,使用 replace()
方法进行剥离比其他方法容易得多,因为它更易于理解和使用。