我对python中的正则表达式sub有个疑问。所以,我有一些代码行,我想要的是取代所有的浮点值,例如:2.0f
,-1.0f
...等..双打2.0
,-1.0
。我想出了这个正则表达式'[-+]?[0-9]*\.?[0-9]+f'
,它发现我需要什么,但我不知道如何替换它?正则表达式子
所以这里就是我:
# check if floating point value exists
if re.findall('[-+]?[0-9]*\.?[0-9]+f', line):
line = re.sub('[-+]?[0-9]*\.?[0-9]+f', ????? ,line)
我不知道?????
下要放什么东西,使得它将会取代我在'[-+]?[0-9]*\.?[0-9]+f'
发现没有在字符串末尾的字符f
。
也有可能不止一个浮点值,这就是为什么我用re.findall
任何帮助将是巨大的。由于
击败我6秒。我太老了:)。你可能想补充一点,他不需要'findall()',因为're.sub()'会一次完成所有可能的替换。 –
@TimPietzcker你说得对。为了兑现自己的速度,我已经穿上了我的前职业帽,并添加了一些正则表达式提示。 :) – user4815162342
感谢您的澄清和提示 – overloading