擅长:python、mysql、java
<p>您应该使用translate(None,nuke_list_string)</p>
<p>两个原因:</p>
<ol>
<li><p>replace执行一个1对1的替换,每次替换都会分配一个新的字符串,然后返回该字符串,如果像示例中那样链接一系列替换,则会导致大量开销。</p></li>
<li><p>translate通常需要一对一的映射,即translate('ABC','ABC')会将字符串'a brown cow'转换为'a brown cow'。但是,如果指定<strong>None</strong>作为新映射,它将删除它找到的字符。</p></li>
</ol>
<p>下面是一个例子:</p>
<pre><code>a = 'this is [a] string with (stuff) in {it}'
print a.translate(None, '[]{}()')
</code></pre>
<p>产生:</p>
^{pr2}$