擅长:python、mysql、java
<p>您应该为此使用<code>regex</code>:</p>
<pre><code>>>> import re
>>> from string import punctuation as punc
>>> strs = "Abc*@ddf%^sad#"
>>> re.sub(r'[{}]'.format(punc),'',strs)
'Abcddfsad'
</code></pre>
<p>修复代码:</p>
^{pr2}$
<p>为什么你的代码失败了?在</p>
<p>在您的代码中,您循环使用这些标点,并指定
将<code>jobLocationUnclean</code>的值替换为<code>jobLocationCleaned</code>,不过请注意
字符串在python中是不可变的,因此<code>replace(jobLocationUnclean, c, "")</code>
操作根本不会更改原始的<code>jobLocationUnclean</code>。因此,在每次迭代中,您都会替换一个给定的标点符号,并将新字符串赋给<code>jobLocationCleaned</code>。
对字符串的任何操作都会返回一个新字符串。在</p>
<pre><code>>>> strs = "foo"
>>> strs.replace('f','i')
'ioo'
>>> strs #original foo is still un-changed
'foo'
</code></pre>
<p>最后,代码实际上只替换了字符串(<code>jobLocationUnclean</code>)中的<code>.</code>字符,并将其赋给<code>jobLocationCleaned</code>。在</p>