如何找到字符串的一部分?

2024-09-26 22:43:26 发布

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

我在用绳子工作。我能找到我需要的那部分,但不是全部。我的代码哪一部分需要更改?你知道吗

s = "3D(filters:!!(),refreshInterval:(pause:!!t,value:0),time:(from:!%272019-10-01T20:28:50.088Z!%27,to:now))%26_a%3D(description:!%27!%27,filters:!!(),fullScreenMode:!!"

report_time = s[s.find("time:(") + 1:s.find("))")]

我需要的输出:

>>> report_time
'time:(from:!%272019-10-01T20:28:50.088Z!%27,to:now))'

我有:

>>> report_time
'ime:(from:!%272019-10-01T20:28:50.088Z!%27,to:now)'

Tags: to代码fromreporttimevaluedescriptionfind
2条回答

你把“+1”放错索引了。您需要从第一个find位置选取一个字符经过第二个字符以选取额外的右括号。这最后一个甚至需要一个更多的角色(多亏了'smac89抓到了这个角色)。你知道吗

report_time = s[s.find("time:("):s.find("))") + 2]

输出:

'time:(from:!%272019-10-01T20:28:50.088Z!%27,to:now))'

或者使用正则表达式,例如:

import re
re.search(r'(time:\(.*\)\))', s).group(1)

说明:组(1)返回第一组括号的匹配内容。*匹配中间的任何字符。搜索therm中的括号需要转义。你知道吗

输出:

'time:(from:!%272019-10-01T20:28:50.088Z!%27,to:now))'

相关问题 更多 >

    热门问题