从 Python 中的字符串中删除特定字符
在 Python 中从字符串中删除特定字符的任务可以轻松完成。但是,您当前的代码存在问题。删除字符的正确方法是使用正确的方法。
理解字符串不变性
首先,理解 Python 中的字符串不变性至关重要。字符串是不可变的,这意味着您无法就地修改它们。使用 line.replace(...) 时,会创建一个新字符串,而原始行保持不变。要使用修改后的字符串更新变量,您需要将其重新绑定到行。
实现字符删除
要有效删除特定字符,请考虑以下方法:
str.translate(Python 2.6 和上面):
line = line.translate(None, '!@#$')
正则表达式替换为 re.sub:
import re line = re.sub('[!@#$]', '', line)
在 Python 3 中,字符串是 Unicode。要删除 Unicode 字符串中的字符:
转换表: 创建一个转换表,将字符序数值映射到 None 以进行删除:
translation_table = dict.fromkeys(map(ord, '!@#$'), None) unicode_line = unicode_line.translate(translation_table)
str.maketrans: 或者,使用str.maketrans 直接创建翻译表:
unicode_line = unicode_line.translate(str.maketrans('', '', '!@#$'))
通过使用这些方法,您可以有效地从 Python 中的任何字符串中删除特定字符。
以上是如何在Python中高效地删除字符串中的特定字符?的详细内容。更多信息请关注PHP中文网其他相关文章!