Python从字符串中删除字符
时间:2020-02-23 14:43:14 来源:igfitidea点击:
有时我们想从字符串中删除所有出现的字符。
有两种常见的方法可以实现此目的。
Python从字符串中删除字符
- 使用字符串replace()函数
- 使用字符串translate()函数
Python使用replace()从字符串中删除字符
我们可以使用字符串replace()函数将一个字符替换为一个新字符。
如果我们提供一个空字符串作为第二个参数,则该字符将从字符串中删除。
请注意,该字符串在Python中是不可变的,因此此函数将返回一个新字符串,而原始字符串将保持不变。
s = 'abc12321cba' print(s.replace('a', ''))
输出:bc12321cb
Python使用translate()从字符串中删除字符
Python字符串translation()函数使用给定的转换表替换字符串中的每个字符。
我们必须为该字符指定Unicode代码点,并指定"无"作为替换字符,以将其从结果字符串中删除。
我们可以使用ord()函数获取字符的Unicode代码点。
s = 'abc12321cba' print(s.translate({ord('a'): None}))
输出:bc12321cb
如果要替换多个字符,可以使用迭代器轻松完成。
让我们看看如何从字符串中删除字符" a"," b"和" c"。
s = 'abc12321cba' print(s.translate({ord(i): None for i in 'abc'}))
输出:12321
从字符串中删除空格
s = ' 1 2 3 4 ' print(s.replace(' ', '')) # 1234 print(s.translate({ord(i): None for i in ' '})) # 1234
Python从字符串中删除换行符
s = 'ab\ncd\nef' print(s.replace('\n', '')) print(s.translate({ord('\n'): None}))
从字符串中删除子字符串
字符串replace()函数参数是字符串。
让我们看看如何从字符串中删除单词。
s = 'ab12abc34ba' print(s.replace('ab', ''))
输出:12c34ba
删除指定的次数
我们还可以在replace()函数中传递第三个参数,以指定应该执行替换的次数。
s = 'abababab' print(s.replace('a', 'A', 2))
输出:AbAbabab