如何从指定字符串中分组提取数字并按要求格式输出?
修改后的代码
def getDigits(s): fields = s.split(';') result = [] for field in fields: num_content = ''.join([c for c in field if c.isdigit()]) if num_content: result.append(f'({num_content})') return ' '.join(result) print(getDigits(s="cycling;time:1,49;distance:2"))
修改逻辑说明
原代码直接遍历整段字符串的所有字符提取数字,没有做字段区分,所以不同属性的数字全部拼接在了一起。
修改后的逻辑:
- 先按分隔符
;把整段字符串拆成多个独立字段 - 逐个字段提取内部的所有数字字符,空结果直接跳过
- 每个有效数字结果单独用括号包装,最后用空格拼接所有分组,输出符合要求。
运行上述代码输出结果为:(149) (2)
内容的提问来源于stack exchange,提问作者Bruffff
相关产品推荐
相关产品推荐

