首页 > 解决方案 > 如何替换字符串中一起出现的 2 个或多个特殊字符或下划线 Python

问题描述

我有以下字符串:

'___5weeks_rollingAverage_8hours'
'___5weeks__rolling=*%Average_8hours'
'___5weeks_rollingAverage_8hours__'
'___5weeks_rollingAverage_8hours'

_如果它在字符串中的任何位置出现多次,我希望将其删除。所以上面应该翻译成:

5weeks_rollingAverage_8hours

电视

标签: pythonstringstr-replace

解决方案


您可以使用正则表达式,如您所说的非字母数字我们可以使用 [^a-zA-Z0-9] 所以代码是这样的:

import re
regex = re.compile(r'[^a-zA-Z0-9]{2,}')
t = '___5weeks_rollingAverage___8h**ou&%rs'

result = regex.sub("",t)
print(result)

输出: 5weeks_rollingAverage8hours


推荐阅读