在Python中从字符串中删除不需要的字符

Hos*_*ein 5 python string parsing

我有一些字符串,我想从中删除一些不需要的字符.例如:Adam'sApple ----> AdamsApple.(不区分大小写)有人可以帮助我,我需要最快的方法来做,因为我有几百万条记录需要打磨.谢谢

mik*_*iku 6

一个简单的方法:

>>> s = "Adam'sApple"
>>> x = s.replace("'", "")
>>> print x
'AdamsApple'
Run Code Online (Sandbox Code Playgroud)

...或者看看正则表达式替换.


Pes*_*lly 6

这是一个删除所有烦人的 ascii 字符的函数,唯一的例外是“&”,它被替换为“and”。我用它来管理文件系统并确保所有文件都遵守我坚持每个人都使用的文件命名方案。

def cleanString(incomingString):
    newstring = incomingString
    newstring = newstring.replace("!","")
    newstring = newstring.replace("@","")
    newstring = newstring.replace("#","")
    newstring = newstring.replace("$","")
    newstring = newstring.replace("%","")
    newstring = newstring.replace("^","")
    newstring = newstring.replace("&","and")
    newstring = newstring.replace("*","")
    newstring = newstring.replace("(","")
    newstring = newstring.replace(")","")
    newstring = newstring.replace("+","")
    newstring = newstring.replace("=","")
    newstring = newstring.replace("?","")
    newstring = newstring.replace("\'","")
    newstring = newstring.replace("\"","")
    newstring = newstring.replace("{","")
    newstring = newstring.replace("}","")
    newstring = newstring.replace("[","")
    newstring = newstring.replace("]","")
    newstring = newstring.replace("<","")
    newstring = newstring.replace(">","")
    newstring = newstring.replace("~","")
    newstring = newstring.replace("`","")
    newstring = newstring.replace(":","")
    newstring = newstring.replace(";","")
    newstring = newstring.replace("|","")
    newstring = newstring.replace("\\","")
    newstring = newstring.replace("/","")        
    return newstring
Run Code Online (Sandbox Code Playgroud)


Mar*_*nen 5

将删除translate方法的第二个参数中的任何字符:

>>> "Adam's Apple!".translate(None,"'!")
'Adams Apple'
Run Code Online (Sandbox Code Playgroud)

注意:translate要求Python 2.6或更高版本对第一个参数使用None,否则必须是长度为256的翻译字符串 .string.maketrans('','')可用于替代2.6之前版本的None.