如何在Python中从字符串中删除字符

介绍

本文介绍了两种常见的使用Python从字符串中删除字符的方法:

  • 使用String replace()方法
  • 使用String translate()方法

要了解从Python中的字符串中删除空格的一些不同方法,请参阅Python中删除字符串中的空格

A Python String object is immutable, so you can’t change its value. Any method that manipulates a string value returns a new String object.

本教程中的示例使用Python交互式控制台在命令行中演示了不同的删除字符的方法。

使用DigitalOcean App Platform从GitHub部署您的Python应用程序。让DigitalOcean专注于扩展您的应用。

使用replace()方法从字符串中删除字符

String replace() 方法用新字符替换字符。通过将要替换的字符(们)作为第一个参数,将空字符串作为第二个参数,可以从字符串中删除字符。

声明字符串变量:

  1. s = 'abc12321cba'

用空字符串替换字符:

  1. print(s.replace('a', ''))

输出是:

Output
bc12321cb

输出显示字符串中字符a的两个出现都被移除了。

使用replace() 方法从字符串中移除换行符

声明一个带有一些换行符的字符串变量:

  1. s = 'ab\ncd\nef'

用空字符串替换换行符:

  1. print(s.replace('\n', ''))

输出是:

Output
abcdef

输出显示字符串中的两个换行符(\n)都被移除了。

使用replace() 方法从字符串中移除子字符串

replace() 方法接受字符串作为参数,因此您也可以替换字符串中的单词。

声明字符串变量:

  1. s = 'Helloabc'

用空字符串替换一个单词:

  1. print(s.replace('Hello', ''))

输出为:

Output
abc

输出显示从输入字符串中删除了字符串Hello

使用replace()方法指定字符出现次数进行删除

您可以在replace()方法中传递第三个参数,以指定在停止之前在字符串中执行的替换次数。例如,如果将2指定为第三个参数,则仅替换给定字符的前两个出现次数。

声明字符串变量:

  1. s = 'abababab'

替换第一个字符的前两个出现次数为新字符:

  1. print(s.replace('a', 'A', 2)) # 执行两次替换

输出为:

Output
AbAbabab

输出显示字符a的前两个出现次数被字符A替换了。由于替换仅进行了两次,因此字符串中其它a的出现次数保持不变。

使用translate()方法从字符串中删除字符

Python字符串translate()方法使用给定的映射表或字典替换字符串中的每个字符。

声明一个字符串变量:

  1. s = 'abc12321cba'

获取字符的Unicode代码点值,并用None替换它:

  1. print(s.translate({ord('b'): None}))

输出为:

Output
ac12321ca

输出显示,字符串中定义的自定义字典中的b字符的两个出现都被删除了。

使用translate()方法从字符串中删除多个字符

您可以使用translate()方法在字符串中替换多个字符。以下示例使用自定义字典{ord(i): None for i in 'abc'},将给定字符串中所有abc的出现替换为None

声明字符串变量:

  1. s = 'abc12321cba'

None替换所有字符abc

  1. print(s.translate({ord(i): None for i in 'abc'}))

输出是:

Output
12321

输出显示,根据自定义字典,字符串中所有的abc都被移除了。

使用translate()方法从字符串中移除换行符

您可以使用translate()方法替换字符串中的换行符。以下示例使用了一个自定义字典,{ord('\n'): None},它会将给定字符串中所有的\n替换为None

声明字符串变量:

  1. s = 'ab\ncd\nef'

将所有的\n字符替换为None

  1. print(s.translate({ord('\n'): None}))

输出是:

Output
abcdef

输出显示,根据自定义字典,字符串中所有的换行符\n都被移除了。

总结

在本教程中,您学习了一些在Python中从字符串中移除字符的方法。继续学习有关Python字符串的知识。

Source:
https://www.digitalocean.com/community/tutorials/python-remove-character-from-string