2013-02-04 141 views
3

我一直在寻找相当一段时间,但我无法找到关于这个问题的任何解释。如何从字符串中删除所有非字母(所有语言)和非数字字符?

如果我有一个字符串,说:u'àaeëß35+{}"´'。我想所有非字母数字charachters删除(然而,我想à, ë, ß等的存放。

我是相当新的Python和我无法找出一个正则表达式来执行此任务。 唯一的其他解决方案,我能想到的?正在和我想删除的字符列表,并通过遍历字符串替换它们

什么是这里的正确的Python的解决方案

谢谢

回答

9
In [63]: s = u'àaeëß35+{}"´' 

In [64]: print ''.join(c for c in s if c.isalnum()) 
àaeëß35 
+0

嗨@root!优秀的解决非常感谢你!如果我想保留空格,我应该只添加或c ==''到最后? – Phil

+0

@Phil - 是的,添加'或c =='''将做到这一点。 – root

2

什么:

def StripNonAlpha(s): 
    return "".join(c for c in s if c.isalpha()) 
+0

它也删除了数字。 –

相关问题