删除字符串中单词 'dust' 中所有出现的任何字符

Removing all occurrences of any characters in the word 'dust' in the string

示例:

Input:             Output:
dustbin            bin
if 'dust' in string:
  new = string.split('dust')
  listToStr = ''.join(map(str, new))
  print(listToStr)

以上代码工作正常。

但是如果输入这样变化的话

Input:                       Sample Output:
dustduuuustdustbin            bin

以上代码无效。有解决办法吗?

使用正则表达式。

import re

result = re.sub(r'[dust]', '', string)

正则表达式 [dust] 匹配这些字符中的任何一个,所有匹配项都替换为空字符串。

如果您只想删除整个单词 dust,其中可能有重复的字母,则正则表达式为 r'd+u+s+t+'.

如果只能重复u,就用r'du+st'

使用下面的函数定义,从任何字符串中删除任何模式。 re 允许删除与 模式的匹配 允许仅打印 non-matched 字符串.

import re
def remover(input, pattern):
  temp='['
  temp+=pattern
  temp+=']'
  return re.sub(r''+temp,'',input)
remover("dustttttttttbinggg",'dust')