删除字符串中单词 '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')
示例:
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')