我试图从python中的字符串中删除所有字符和特殊符号,除了数字(数字0-9).这就是我正在做的事情 -
s='das dad 67 8 - 11 2928 313' s1='' for i in range(0,len(s)): if not(ord(s[i])>=48 and ord(s[i])<=57): s1=s1+' ' else: s1=s1+s[i] #s1=s1.split() print(s1)
所以,基本上我正在检查每个字符的ascii代码,如果它们不在数字'ascii值的范围内,我用空格更新它们.这很好,但我很好奇,如果有其他更有效的方法,我可以在python中做到这一点.
编辑我想用空格替换非数字字符
import re s1=re.sub(r"[^0-9 ]"," ",s)
你可以re
在这里使用.
防止.
使用浮动数字
(?!(?<=\d)\.(?=\d))[^0-9 ]