如何替换字符串中同时出现的 2 个或更多特殊字符或下划线 Python
How to replace 2 or more special characters or underscores appearing together in a string Python
我有以下字符串:
'___5weeks_rollingAverage_8hours'
'___5weeks__rolling=*%Average_8hours'
'___5weeks_rollingAverage_8hours__'
'___5weeks_rollingAverage_8hours'
如果 _
在字符串中出现多次,我希望将其删除。所以上面应该翻译成:
5weeks_rollingAverage_8hours
tvm
使用正则表达式
import re
test_str = ("___5weeks_rollingAverage_8hours", "___5weeks__rolling=*%Average_8hours",
"___5weeks_rollingAverage_8hours__", "___5weeks_rollingAverage_8hours")
regex = re.compile(r"[!\"#$%&'()*+,-.\/:;<=>?@\[\\]^_`{|}~]{2,}")
for item in test_str:
item = regex.sub('', item)
print(item)
输出
5weeks_rollingAverage_8hours
5weeksrollingAverage_8hours
5weeks_rollingAverage_8hours
5weeks_rollingAverage_8hours
你可以像你说的那样对非字母数字使用正则表达式,我们可以使用 [^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
我有以下字符串:
'___5weeks_rollingAverage_8hours'
'___5weeks__rolling=*%Average_8hours'
'___5weeks_rollingAverage_8hours__'
'___5weeks_rollingAverage_8hours'
如果 _
在字符串中出现多次,我希望将其删除。所以上面应该翻译成:
5weeks_rollingAverage_8hours
tvm
使用正则表达式
import re
test_str = ("___5weeks_rollingAverage_8hours", "___5weeks__rolling=*%Average_8hours",
"___5weeks_rollingAverage_8hours__", "___5weeks_rollingAverage_8hours")
regex = re.compile(r"[!\"#$%&'()*+,-.\/:;<=>?@\[\\]^_`{|}~]{2,}")
for item in test_str:
item = regex.sub('', item)
print(item)
输出
5weeks_rollingAverage_8hours
5weeksrollingAverage_8hours
5weeks_rollingAverage_8hours
5weeks_rollingAverage_8hours
你可以像你说的那样对非字母数字使用正则表达式,我们可以使用 [^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