【发布时间】:2020-11-14 06:59:52
【问题描述】:
如何格式化正则表达式的输出或以特定格式返回正则表达式输出。
例如: 我有一个程序 test_program:5.4.3.2.11111
我只想获得这个值:5.4.3.2.11111
如果我使用这个功能:
import re
get_number = "test_program:5.4.3.2.11111"
number = re.findall('\d+', get_number)
输出是:
['5', '4', '3', '2', '11111']
但由于格式不正确,我无法将其传递给另一个变量。
我用过这样的东西:
import re
get_number = re.compile(r'\d.\d.\d.d.\d\d\d\d\d')
number = get_number.search('test_program:5.4.3.2.11111')
print(number.group())
并且输出格式正确,但是如果任何数字发生变化,例如 5 将更改为 10 或 11111 将更改为 1111112,这将无法正常工作。
有没有更好的解决方案来以正确的格式从字符串中获取数字,并且不会改变?
【问题讨论】:
-
"test_program:5.4.3.2.11111".split(":")[1]给"5.4.3.2.11111" -
".".join(['5', '4', '3', '2', '11111'])给"5.4.3.2.11111"
标签: python python-3.x