[转载] Python从字符串中删除字符

参考链接: Python | 字符串translate

Sometimes we want to remove all occurrences of a character from a string. There are two common ways to achieve this.

  有时我们想从字符串中删除所有出现的字符。 有两种常见的方法可以实现此目的。  

  Python从字符串中删除字符 (Python Remove Character from String) 

 Using string replace() function 使用字符串replace()函数 Using string translate() function 使用字符串translate()函数 

  Python使用replace()从字符串中删除字符 (Python Remove Character from String using replace()) 

 We can use string replace() function to replace a character with a new character. If we provide an empty string as the second argument, then the character will get removed from the string.

  我们可以使用字符串replace()函数将一个字符替换为一个新字符。 如果我们提供一个空字符串作为第二个参数,则该字符将从字符串中删除。  

 

  

 Note that the string is immutable in Python, so this function will return a new string and the original string will remain unchanged.

  请注意,该字符串在Python中是不可变的,因此此函数将返回一个新字符串,而原始字符串将保持不变。  

 s = 'abc12321cba'

 

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

 Output: bc12321cb

  输出: bc12321cb  

  Python使用translate()从字符串中删除字符 (Python Remove Character from String using translate()) 

 Python string translate() function replace each character in the string using the given translation table. We have to specify the Unicode code point for the character and ‘None’ as a replacement to remove it from the result string. We can use ord() function to get the Unicode code point of a character.

  Python字符串translate()函数使用给定的转换表替换字符串中的每个字符。 我们必须指定字符的Unicode代码点,并用'None'替换以将其从结果字符串中删除。 我们可以使用ord()函数获取字符的Unicode代码点。  

 s = 'abc12321cba'

 

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

 Output: bc12321cb

  输出: bc12321cb  

 

  

  

 

 

  

  

 

 If you want to replace multiple characters, that can be done easily using an iterator. Let’s see how to remove characters ‘a’, ‘b’ and ‘c’ from a string.

  如果要替换多个字符,可以使用迭代器轻松完成。 让我们看看如何从字符串中删除字符“ a”,“ b”和“ c”。  

 s = 'abc12321cba'

 

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

 Output: 12321

  输出: 12321  

  从字符串中删除空格 (Removing Spaces from a String) 

 s = ' 1 2 3 4 '

print(s.replace(' ', ''))  # 1234

print(s.translate({ord(i): None for i in ' '}))  # 1234

  Python从字符串中删除换行符 (Python Remove newline from String) 

 s = 'ab\ncd\nef'

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

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

  从字符串中删除子字符串 (Remove substring from string) 

 String replace() function arguments is string. Let’s see how to remove a word from a string.

  字符串replace()函数参数是字符串。 让我们看看如何从字符串中删除单词。  

 s = 'ab12abc34ba'

print(s.replace('ab', ''))

 Output: 12c34ba

  输出: 12c34ba  

  删除指定的次数 (Remove specified number of times) 

 We can also pass a third parameter in replace() function to specify the number of times replacement should be performed.

  我们还可以在replace()函数中传递第三个参数,以指定应该执行替换的次数。  

 s = 'abababab'

print(s.replace('a', 'A', 2))

 Output: AbAbabab

  输出: AbAbabab  

 

  GitHub Repository.

  GitHub存储库中检出完整的python脚本和更多Python示例。 

 

 

  翻译自: https://www.journaldev.com/23674/python-remove-character-from-string

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值