Python字符串处理教程:5种简单方法移除字符

简介

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

  • 字符串replace()方法
  • 字符串translate()方法

要在Python中学习一些不同的从字符串中去除空格的方法,请参考《Python中从字符串中去除空格》。

Python的字符串对象是不可变的,因此无法更改其值。任何操作字符串值的方法都会返回一个新的字符串对象。

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

信息

使用Silicon Cloud应用平台从GitHub部署您的Python应用程序。让Silicon Cloud专注于扩展您的应用。

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

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

声明字符串变量。

  1. s = 'abc12321cba'

用一个空字符串替换字符。

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

输出是:

bc12321cb

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

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

用一些换行字符声明一个字符串变量。

  1. s = 'ab\ncd\nef'

将换行符替换为空字符串。

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

输出结果是:

abcdef

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

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

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

声明字符串变量:

  1. s = 'Helloabc'

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

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

输出结果是:

abc

输出表明从输入字符串中删除了字符串”Hello”。

使用replace()方法删除特定次数的字符

你可以在replace()方法中传入第三个参数来指定在停止之前要执行的替换数量。例如,如果你将2指定为第三个参数,那么只会替换给定字符的前2个出现次数。

声明一个字符串变量。

  1. s = 'abababab'

用新字符替换前两个出现的字符。

  1. 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字符串的知识。

bannerAds