用 python 中的一个替换多次出现的任何特殊字符
replace multiple occurrences of any special character by one in python
我有一个像这样的字符串:
string = "happy.....!!!"
我想要这样的输出:
new_string = "happy.!"
我知道如何替换多次出现的任何特殊字符。可以这样操作:
line = re.sub('\.+', '.', line)
但我想将它替换为所有特殊字符,如 "、./\ 等。
一种方法是为每个特殊字符编写它。
但是想知道是否有一种简单的方法可以将所有特殊字符写在一行中。
您可以使用\W
来匹配任何非单词字符:
line = re.sub(r'\W+', '.', line)
如果你想用相同的特殊字符替换然后使用:
line = re.sub(r'(\W)(?=)', '', line)
我想你是这个意思,
line = re.sub(r'(\W)+', r'', line)
我有一个像这样的字符串:
string = "happy.....!!!"
我想要这样的输出:
new_string = "happy.!"
我知道如何替换多次出现的任何特殊字符。可以这样操作:
line = re.sub('\.+', '.', line)
但我想将它替换为所有特殊字符,如 "、./\ 等。 一种方法是为每个特殊字符编写它。 但是想知道是否有一种简单的方法可以将所有特殊字符写在一行中。
您可以使用\W
来匹配任何非单词字符:
line = re.sub(r'\W+', '.', line)
如果你想用相同的特殊字符替换然后使用:
line = re.sub(r'(\W)(?=)', '', line)
我想你是这个意思,
line = re.sub(r'(\W)+', r'', line)