Python正则表达式:从字符串中删除最后的数字

3
我该如何使用Python正则表达式或类似方法从字符串中删除最后几位数字: 我有一个IP地址10.121.100.200,我想只显示10.121.100.,而不显示最后的数字。

1
返回最后一个 . 后面的所有数字? - xor
你需要在结尾加上 . 吗?还是只是一个句号? - Games Brainiac
3个回答

10

正则表达式:

re.sub(r'\d+$', '', ip)

没有正则表达式

''.join(ip.rpartition('.')[:2])

6
>>> v = '10.121.100.200'
>>> ".".join(v.split('.')[0:-1])
'10.121.100'

如果您想让最后一个小点留在末尾,则:
>>> ".".join(v.split('.')[0:-1]) + '.'
'10.121.100.'

只需将其重构为一个函数,你就可以继续了。


他想在结尾加上一个句点。你应该添加这个,但总体来说是一个不错的解决方案。 - Florian Groetzner
@Dlotan 你确定那不是一个句号吗? - Games Brainiac
可能是可能的,但我不确定。 - Florian Groetzner

1
另一个版本
'{}.'.format('10.121.100.200'.rsplit('.', 1)[0])
'10.121.100.'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接