我有一些字符串,比如"- memphis , tn! "
、"~~~memphis,tn"
、":) memphis , tn (:"
、". - memphis,tn - ."
、"memphis tn?"
。我想清理每个字符串,使每个字符串成为"memphis,tn"
。目前,我使用下面的代码,但是有没有更有效的方法?也许用正则表达式?你知道吗
请注意,我目前有一个问题,即特殊字符的顺序会影响最终结果。例如,". - memphis,tn - ."
给出了正确的结果,而"- . memphis,tn . -"
没有。这不是有意的。如果它可以被固定为副作用,那就太好了!你知道吗
字符串是纯ASCII的,我可能会尝试删除比下面的字符更多的特殊字符。你知道吗
编辑: 对不起,我应该注意到不是所有的字符串都有“x,y”格式。此外,诸如“-New York City--”或“*Texas*”之类的字符串也应该清理干净。你知道吗
# remove emoticons
smileys = [":)",":\\",":(",";)",
"(:","\\:","):","(;"]
for s in smileys:
loc = loc.replace(s, '')
# cleaning whitespace uses
loc = ' '.join(loc.split())
loc = loc.strip()
loc = loc.replace(' ,', ',')
loc = loc.replace(', ', ',')
loc = loc.replace(' .', '.')
loc = loc.replace('. ', '.')
# clean special symbols off the sides
symbols = '.,!-#~*^?@" '
loc = loc.strip(symbols)
你可以用
Python代码
Ideone Demo
如果要删除除字母数字以外的任何符号,可以使用
相关问题 更多 >
编程相关推荐