Python 从字符串中删除特殊字符,而不是用空格替换
我正在尝试从字符串中删除特殊字符。所有可用的示例仅用空格替换它们。但我想摆脱它们,保留字符串的顺序。下面是我试过的一些代码Python 从字符串中删除特殊字符,而不是用空格替换,python,regex,Python,Regex,我正在尝试从字符串中删除特殊字符。所有可用的示例仅用空格替换它们。但我想摆脱它们,保留字符串的顺序。下面是我试过的一些代码 input_string = "abcd. efgh ijk L.M" re.sub(r"[^a-zA-Z0-9]+",'',input_string).split(' '))) #approach 1 re.sub(r"[\W_]+",'',input_string).split(' '))) #approach
input_string = "abcd. efgh ijk L.M"
re.sub(r"[^a-zA-Z0-9]+",'',input_string).split(' '))) #approach 1
re.sub(r"[\W_]+",'',input_string).split(' '))) #approach 2
所需输出为
"abcd efgh ijk LM"
可以使用.replace()函数
not_wanted_char = [".", "*"]
your_string = "abcd. efgh ijk L.M"
for i in not_wanted_char:
your_string = your_string.replace(i,"")
您可以将每个特殊字符(不包括空格)替换为空字符:
re.sub(r"[^a-zA-Z0-9 ]+", '', input_string)
您可以在插入符号(
^
)后面添加空格,如下所示
[1]中的re.sub(r“[^a-zA-Z0-9]+”,'',输入字符串)
#^此处的空间
输出[1]:“abcd efgh ijk LM”
如果还想删除尾随或前导空格,可以使用strip
方法
[2]中的:'Hello'.strip()
出[2]:“你好”
原始字符串:“他;ll*ow!或;ld!”
结果列表是:“hello world”如果您想保留空格,那么下面的正则表达式将非常有用
import re
input_string = "abcd. efgh ijk L.M"
re.sub('[^ A-Za-z0-9]+', '', input_string)
它将产生这个字符串-
abcd efgh ijk LM
那么ab
呢?你想要的结果是什么样的?
import re
input_string = "abcd. efgh ijk L.M"
re.sub('[^ A-Za-z0-9]+', '', input_string)