原文: 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', ''))
重要的是要记住,原来的字符串保持不变,因为字符串是不可变的。replace()
方法将返回一个新的字符串。
在接下来的例子中,我们要使用 optional_max
参数来设置从我的名字中删除字母 s
的次数。
developer.replace('s', '', 2)
这行代码说要从 Jessica Wilkins
这个字符串中只删除两次字母 s
。
如果我们把结果打印出来,就会是这样的结果:
print(developer.replace('s', '', 2))
如何使用 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}))
在接下来的例子中,我们想返回一个新的字符串,其中删除字母 e
、s
和 i
。要做到这一点,我们可以在我们的 table
参数中使用一个迭代器。
{ord(letter): None for letter in 'esi'}
这行代码告诉计算机找到所有出现的 e
、s
和 i
,并将其替换为 None
。
如果我们将结果打印出来,会是这样的:
developer = 'Jessica Wilkins'
print(developer.translate({ord(letter): None for letter in 'esi'}))
总结
在 Python 中,你可以使用 replace()
和 translate()
方法来指定你想从字符串中删除哪些字符,并返回一个新的修改后的字符串结果。
重要的是要记住,原始的字符串不会被改变,因为字符串是不可改变的。
下面是 replace()
方法的基本语法。
str.replace(old_str, new_str[, optional_max])
replace()
方法的返回值将是一个原始字符串的副本,旧的子串被新的子串所取代。
另一种从字符串中删除字符的方法是使用 translate()
方法。这个方法返回一个新的字符串,其中旧字符串中的每个字符都被映射到翻译表中的一个字符,并翻译成一个新的字符串。
下面是 Python 的 translate()
方法的基本语法。
str.translate(table)
我希望你喜欢这篇文章,祝你在 Python 之旅中好运。