如何用 Python 删除字符串中的字符

介绍

本文描述了两种常见的方法,您可以使用Python来从字符串中删除字符:

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

若要了解如何在 Python 中从字符串中删除间隔,请参阅 Remove Spaces from a String in Python

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

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

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

使用 String replace() 方法将一个字符替换为新的字符,您可以将字符(字符)作为第一个参数和空串作为第二个参数来删除一个字符。

声明字符串变量:

1s = 'abc12321cba'

用空串代替字符:

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

产量是:

1[secondary_label Output]
2bc12321cb

输出显示,从字符串中删除了a的两种发生。

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

声明一个字符串变量,用一些新线字符:

1s = 'ab\ncd\nef'

将新字符代替为空字符串:

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

产量是:

1[secondary_label Output]
2abcdef

输出显示,两个新行字符(n)都从字符串中删除。

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

代替() 方法将字符串作为参数,因此您也可以在字符串中替换一个单词。

声明字符串变量:

1s = 'Helloabc'

用一个空的字符串代替一个字符串:

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

产量是:

1[secondary_label Output]
2abc

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

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

您可以在 replace() 方法中传递第三个参数,以指定在停止之前要在字符串中执行的更换次数. 例如,如果您指定 2 作为第三个参数,那么只有给定的字符的前 2 个发生次数被取代。

声明字符串变量:

1s = 'abababab'

用新字符取代字符的前两次发生:

1print(s.replace('a', 'A', 2)) # perform replacement twice

产量是:

1[secondary_label Output]
2AbAbabab

输出显示a字符的前两次发生被A字符取代,因为更换只发生了两次,所以a字符的其他发生仍然存在于字符串中。

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

Python 字符串 translate() 方法使用给定的地图表或字典代替字符串中的每个字符。

声明一个字符串变量:

1s = 'abc12321cba'

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

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

产量是:

1[secondary_label Output]
2ac12321ca

输出显示b字符的两种发生都已从定义在自定义字典中的字符串中删除。

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

以下示例使用一个自定义字典,名为{ord(i):None for i in 'abc'},该词典将给定的字符串中的所有发生a,bc代替为None

声明字符串变量:

1s = 'abc12321cba'

将所有字符abc替换为none:

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

产量是:

1[secondary_label Output]
212321

输出显示abc的所有出现都已从定义在自定义字典中的字符串中删除。

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

您可以使用 translate() 方法替换字符串中的新行字符. 下面的示例使用一个自定义字典, {ord('\n'): None},该字符串中的 \n的所有出现都用None' 取代。

声明字符串变量:

1s = 'ab\ncd\nef'

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

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

产量是:

1[secondary_label Output]
2abcdef

输出显示,新行字符\n的所有出现都已从定义在自定义字典中的字符串中删除。

结论

在本教程中,您了解了一些方法,您可以用来从Python中的字符串中删除字符串。

Published At
Categories with 技术
Tagged with
comments powered by Disqus