在Python中从字符串中提取特定的数字

2024-09-30 23:46:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串,其中包含一个特定的数字,我想提取成一个单一的数字

string = Result: ResultSet({'(u'examplemeasure', None)': [{u'value': 15, u'time': u'2018-03-20T22:50:33.803894733Z'}]})

因此,我想要数字15

15 (<-- just like this)

我的代码如下

import re
m = re.search('(\d+)', 'Result: ResultSet({'(u'examplemeasure', None)': [{u'value': 15, u'time': u'2018-03-20T22:50:33.803894733Z'}]})', re.IGNORECASE)
print (m.group(1))

然而,撇号的大量使用给了我们一个语法错误

  File "filename.py", line 3
print (m.group(1))
    ^
SyntaxError: invalid syntax

有没有一种方法可以忽略撇号的丰富性,自己得到数字15

谢谢你, 什么傻瓜


Tags: 字符串renonestringtimevaluegroup数字
2条回答

我想出了如何在几分钟内从一个包含多个数字的字符串中提取一个特定的数字

可以从字符串中删除首字母和最后一个撇号标记,如图所示

m = re.search('(\d+)', Result: ResultSet({'(u'examplemeasure', None)': [{u'value': 15, u'time': u'2018-03-20T22:50:33.803894733Z'}]}), re.IGNORECASE)

用引号(“”)替换字符串周围的撇号可以解决问题

m = re.search('(\d+)', "Result: ResultSet({'(u'examplemeasure', None)': [{u'value': 15, u'time': u'2018-03-20T22:50:33.803894733Z'}]})", re.IGNORECASE)

这个程序的打印结果是

15

(完整代码如下)

import re
m = re.search('(\d+)', "Result: ResultSet({'(u'examplemeasure', None)': [{u'value': 15, u'time': u'2018-03-20T22:50:33.803894733Z'}]})", re.IGNORECASE)
print (m.group(1))

15

ResultSet中的单引号需要转义。或者用双引号将ResultSet括起来

相关问题 更多 >