.因此,我会将 "15.0+abc-3" 之类的字符串转换为 "15+abc-3"。你知道这样做的方法吗? 希望您理解我的想法-6ren">
gpt4 book ai didi

Python:用字符串中的整数替换 "wrong" float

转载 作者:行者123 更新时间:2023-11-28 18:37:42 26 4
gpt4 key购买 nike

我试图用整数替换字符串(1.0、2.0 等)中的所有无用 float 强>.因此,我会将 "15.0+abc-3" 之类的字符串转换为 "15+abc-3"。你知道这样做的方法吗?

希望您理解我的想法。如果您不方便提问。

最佳答案

你可以使用 re.sub :

>>> 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'

\d+ 将匹配长度为 1 或更大的任何数字,在 sub 函数中 (\d+)\.0 将匹配数字带有无用的小数零。这将被替换为第一组 \1,即您的号码(在捕获组 (\d+) 内)。

\b 是单词边界,它使您的正则表达式与 1102.05 等数字不匹配!

关于Python:用字符串中的整数替换 "wrong" float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30833202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com