擅长:python、mysql、java
<p>一个使用<code>string.translate</code>的变体,它有利于<em>?易于扩展,是<code>string</code>的一部分。在</p>
<pre><code>import string
allchars = string.maketrans('','')
tokeep = string.letters + string.digits + '-'
toremove = allchars.translate(None, tokeep)
s = "Blake D'souza is an !d!0t"
print s.translate(None, toremove)
</code></pre>
<p>输出:</p>
^{pr2}$
<p>OP说只保留字符、数字和连字符-也许它们也意味着保留空白?在</p>