Python如何提取matrix[1][2]类格式字符串中的索引内容?
提取字符串中方括号内索引值的Python实现方案
以下是两种可直接落地的实现方式:
方法1:正则表达式匹配(推荐,适配性强)
可以直接匹配所有[和]之间的内容,适配任意多维度索引场景:
import re string_example = "matrix[1][2]" # 匹配所有方括号内的数字内容 indexes = re.findall(r'\[(\d+)\]', string_example) # 如需整数类型结果可做转换 indexes = [int(i) for i in indexes] print(indexes) # 输出结果:[1, 2]
如果索引包含非数字内容,只需调整正则规则即可,比如要匹配字母+数字的索引,将
\d+替换为\w+即可。
方法2:字符串分割(无需引入依赖库)
如果不想引入正则模块,可通过字符串分割逻辑实现:
string_example = "matrix[1][2]" parts = string_example.split('[') indexes = [] for part in parts[1:]: index_val = part.split(']')[0] indexes.append(int(index_val)) print(indexes) # 输出结果:[1, 2]
该方法逻辑简单,适合字符串格式固定、无特殊嵌套字符的场景。
内容的提问来源于stack exchange,提问作者amir.h
相关产品推荐
相关产品推荐

