擅长:python、mysql、java
<p>您可以使用<code>re.sub</code>:</p>
<pre><code>>>> s="15.0+abc-3"
>>>
>>> import re
>>> re.sub(r'\b(\d+)\.0+\b',r'\1',s)
'15+abc-3'
>>> s="15.0000+abc-333.0+er1102.05"
>>> re.sub(r'\b(\d+)\.0+\b',r'\1',s)
'15+abc-333+er1102.05'
</code></pre>
<p><code>\d+</code>将匹配长度为1或更大的任何数字,并且在<code>sub</code>函数中<code>(\d+)\.0</code>将匹配具有无用小数的数字零。那个将替换为第一个组<code>\1</code>,即您的号码(在捕获组<code>(\d+)</code>)内)。在</p>
<p>并且<code>\b</code>是单词边界,它使正则表达式与某些数字不匹配,比如<code>1102.05</code>!在</p>