Python字符串处理教程:5种简单方法移除字符
简介
本文介绍了使用Python来从字符串中删除字符的两种常见方法。
- 字符串replace()方法
- 字符串translate()方法
要在Python中学习一些不同的从字符串中去除空格的方法,请参考《Python中从字符串中去除空格》。
Python的字符串对象是不可变的,因此无法更改其值。任何操作字符串值的方法都会返回一个新的字符串对象。
本教程中的示例使用Python交互式控制台在命令行中演示不同删除字符的方法。
信息
使用Silicon Cloud应用平台从GitHub部署您的Python应用程序。让Silicon Cloud专注于扩展您的应用。
使用replace()方法从字符串中移除字符
String的replace()方法可以将一个字符替换为新字符。要从字符串中删除一个字符,可以将要替换的字符作为第一个参数,并将空字符串作为第二个参数。
声明字符串变量。
- s = 'abc12321cba'
用一个空字符串替换字符。
- print(s.replace('a', ''))
输出是:
bc12321cb
输出结果显示,字符串中的两个字符a都被移除了。
使用replace()方法从字符串中移除换行符
用一些换行字符声明一个字符串变量。
- s = 'ab\ncd\nef'
将换行符替换为空字符串。
- print(s.replace('\n', ''))
输出结果是:
abcdef
输出显示,字符串中的两个换行符(\n)都被删除了。
使用replace()方法将字符串中的子串移除
replace()方法接受字符串作为参数,因此您也可以替换字符串中的一个单词。
声明字符串变量:
- s = 'Helloabc'
用空字符串替换一个单词。
- print(s.replace('Hello', ''))
输出结果是:
abc
输出表明从输入字符串中删除了字符串”Hello”。
使用replace()方法删除特定次数的字符
你可以在replace()方法中传入第三个参数来指定在停止之前要执行的替换数量。例如,如果你将2指定为第三个参数,那么只会替换给定字符的前2个出现次数。
声明一个字符串变量。
- s = 'abababab'
用新字符替换前两个出现的字符。
- print(s.replace('a', 'A', 2)) # 执行两次替换
输出是:
AbAbabab
输出结果显示,前两次出现的字符a已被替换为字符A。由于替换仅进行了两次,字符串中的其他a仍然保留。
使用translate()方法从字符串中移除字符
Python中的字符串translate()方法
Python中的字符串translate()方法使用给定的映射表或字典替换字符串中的每个字符。
使用translate()方法删除单个字符
声明一个字符串变量:
s = 'abc12321cba'
获取一个字符的Unicode代码点值,并将其替换为None:
print(s.translate({ord('b'): None}))
输出结果是:
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'}))
输出是:
12321
输出显示,自定义字典中定义的字符串中的所有’a’、’b’和’c’都被删除了。
使用translate()方法从字符串中删除换行字符
你可以使用translate()方法来替换字符串中的换行符。以下示例使用自定义字典{ord('\n'): None}
,它将给定字符串中的所有’\n’替换为None。
声明字符串变量:
s = 'ab\ncd\nef'
将所有的’\n’字符替换为None:
print(s.translate({ord('\n'): None}))
输出是:
abcdef
输出显示,在自定义字典中定义的字符串中,所有出现的换行符’\n’都被移除了。
结论
在本教程中,你学习了一些在Python中从字符串中删除字符的方法。继续学习有关Python字符串的知识。