原文: Python Remove Character from a String – How to Delete Characters from Strings

在 Python 中,你可以使用 replace()translate() 方法来指定你想从一个字符串中删除哪些字符,并返回一个新的修改后的字符串结果。

重要的是要记住,原始的字符串不会被改变,因为字符串是不可改变的。

在这篇文章中,我将通过使用代码实例向你展示如何使用 replace()translate() 方法。

如何使用 Python 的 replace() 方法

下面是 replace() 方法的基本语法。

str.replace(old_str, new_str[, optional_max])

old_str 参数代表你要替换的子串。

new_str 参数代表你想使用的新子串。

optional_max 参数代表用新子串替换旧子串的最大次数。

replace() 方法的返回值将是一个原始字符串的副本,旧的子串被新的子串替换。

Python replace() 示例

让我们看一些例子。

在第一个例子中,我们有一个叫做 developer 的字符串,我的名字被分配给它。

developer = 'Jessica Wilkins'

如果我们想删除我的姓氏,我们可以像这样使用 replace() 方法:

developer.replace('Wilkins', '')

这告诉计算机把 Wilkins 旧子串拿出来,用一个空字符串代替。

如果我们把结果打印出来,那么我们就会得到这样的结果:

print(developer.replace('Wilkins', ''))
Screen-Shot-2022-03-06-at-8.41.55-PM

重要的是要记住,原来的字符串保持不变,因为字符串是不可变的。replace() 方法将返回一个新的字符串。

在接下来的例子中,我们要使用 optional_max 参数来设置从我的名字中删除字母 s 的次数。

developer.replace('s', '', 2)

这行代码说要从 Jessica Wilkins 这个字符串中只删除两次字母 s

如果我们把结果打印出来,就会是这样的结果:

print(developer.replace('s', '', 2))
Screen-Shot-2022-03-06-at-8.55.22-PM

如何使用 Python 的 translate() 方法

另一种从一个字符串中删除字符的方法是使用 translate() 方法。这个方法返回一个新的字符串,其中旧字符串中的每个字符都被映射到翻译表中的一个字符,并翻译成一个新的字符串。

下面是 Python 的 translate() 方法的基本语法。

str.translate(table)

Python translate() 例子

让我们看一些例子,以更好地理解 translate() 方法。

在这个例子中,我们想从 Jessica Wilkins 这个字符串中删除所有字母 i 的实例。

我们首先需要使用 Python 的内置 ord() 函数来获得字母 i 的 Unicode 值。

ord('i')

对于我们的表格,我们需要指定 None 的值,这样计算机就会知道把字母 i 替换为空。

{ord('i'): None}

现在我们在 translate() 方法中使用我们的表格。

developer.translate({ord('i'): None})

如果我们把结果打印出来,就会是这个样子:

developer = 'Jessica Wilkins'

print(developer.translate({ord('i'): None}))
Screen-Shot-2022-03-06-at-10.24.52-PM

在接下来的例子中,我们想返回一个新的字符串,其中删除字母 esi。要做到这一点,我们可以在我们的 table 参数中使用一个迭代器。

{ord(letter): None for letter in 'esi'}

这行代码告诉计算机找到所有出现的 esi,并将其替换为 None

如果我们将结果打印出来,会是这样的:

developer = 'Jessica Wilkins'

print(developer.translate({ord(letter): None for letter in 'esi'}))
Screen-Shot-2022-03-06-at-10.37.10-PM

总结

在 Python 中,你可以使用 replace()translate() 方法来指定你想从字符串中删除哪些字符,并返回一个新的修改后的字符串结果。

重要的是要记住,原始的字符串不会被改变,因为字符串是不可改变的。

下面是 replace() 方法的基本语法。

str.replace(old_str, new_str[, optional_max])

replace() 方法的返回值将是一个原始字符串的副本,旧的子串被新的子串所取代。

另一种从字符串中删除字符的方法是使用 translate() 方法。这个方法返回一个新的字符串,其中旧字符串中的每个字符都被映射到翻译表中的一个字符,并翻译成一个新的字符串。

下面是 Python 的 translate() 方法的基本语法。

str.translate(table)

我希望你喜欢这篇文章,祝你在 Python 之旅中好运。