介绍
本文介绍了两种使用 Python 从字符串中删除字符的常用方法:
- 方法
字符串替换() - 方法
字符串 translate()
要了解在 Python 中从字符串中删除空格的几种不同方法,请参阅“在 Python 中从字符串中删除空格”。.
Python 字符串对象是不可变的,因此您无法更改其值。任何操作字符串值的方法都会返回一个新的 String 对象。.
本教程中的示例使用命令行上的交互式 Python 控制台来演示删除字符的不同方法。.
使用 replace() 方法从字符串中删除字符
String() 方法用于将字符串中的某个字符替换为另一个字符。要从字符串中删除某个字符,您可以将要删除的字符作为第一个参数,并将空字符串作为第二个参数。.
声明字符串变量:
s = 'abc12321cba'将该字符替换为空字符串:
print(s.replace('a', ''))输出结果为:
Output
bc12321cb输出结果显示,字符串中出现的两个字符“a”均已被删除。.
使用 replace() 方法从字符串中删除换行符
声明一个包含多个换行符的字符串变量:
s = 'ab\ncd\nef' code... */将换行符替换为空字符串:
print(s.replace('\n', ''))输出结果为:
Output
abcdef输出结果显示字符串中的两个换行符(\n)均已被删除。.
使用 replace() 方法从字符串中删除子字符串
replace() 方法接受字符串作为参数,因此您可以替换字符串中的单词。.
声明字符串变量:
s = 'Helloabc'将单词替换为空字符串:
print(s.replace('Hello', ''))输出结果为:
输出结果显示,字符串“Hello”已从输入字符串中删除。.
使用 replace() 方法删除指定次数的字符
你可以向 replace() 方法传递第三个参数,以指定在停止替换之前要对字符串执行的替换次数。例如,如果你将第三个参数指定为 2,则只会替换给定字符的前两次出现。.
声明字符串变量:
s = 'abababab'将前两个字符替换为新字符:
print(s.replace('a', 'A', 2)) # perform replacement twice输出结果为:
Output
AbAbabab输出结果显示,字符串中前两次出现的字符 a 已被替换为字符 A。由于替换只进行了两次,因此字符串中其余出现的字符 1 仍然保留。.
使用 translate() 方法从字符串中删除字符
Python 字符串 translate() 方法使用给定的映射表或字典替换字符串中的每个字符。.
声明一个字符串变量:
s = 'abc12321cba'获取字符的Unicode代码点值并将其替换为None:
print(s.translate({ord('b'): None}))输出结果为:
Output
ac12321ca输出结果显示,自定义字典中定义的字符 b 的两个出现位置都已从字符串中删除。.
使用 translate() 方法从字符串中删除多个字符
您可以使用 translate() 方法替换字符串中的多个字符。以下示例使用自定义字典 {ord(i): None for i in 'abc'},该字典将给定字符串中所有出现的 a、b 和 c 替换为 None。.
声明字符串变量:
s = 'abc12321cba'将 abc 中的所有字符替换为 None:
print(s.translate({ord(i): None for i in 'abc'}))输出结果为:
Output
12321输出结果显示,字符串中所有出现的 a、b 和 c 都已按照自定义字典中的定义删除。.
使用 translate() 方法从字符串中删除换行符
您可以使用 translate() 方法替换字符串中的换行符。以下示例使用自定义字典 {ord('\n'): None},它将给定字符串中所有出现的 \n 替换为 None。.
声明字符串变量:
s = 'ab\ncd\nef'将所有换行符 (\n) 替换为 None:
print(s.translate({ord('\n'): None}))输出结果为:
Output
abcdef输出结果显示,字符串中所有出现的换行符 \n 都已按照自定义字典中的定义从字符串中删除。.
结果
在本教程中,你学习了在 Python 中从字符串中删除字符的方法。继续学习 Python 字符串的相关知识。.









