如何使用Python清理特定格式字符串,仅提取目标文本?
Python提取嵌套数组中的首个文本元素
处理步骤与代码示例
要从给定的嵌套数组格式字符串中提取每个子数组的第一个文本元素,可按以下方式实现:
解析字符串为Python对象
你的字符串是合法的Python字面量(包含列表、字典结构),使用ast.literal_eval解析比json.loads更稳妥——后者要求字典键必须带双引号,而你的字符串中键为Python原生格式(无引号),ast模块可直接兼容这种结构。提取目标元素
解析后得到嵌套列表,通过列表推导式遍历每个子列表,直接提取第一个元素即可。
完整代码:
import ast # 原始输入字符串(若首尾带双引号,先strip去除) raw_str = '[["guns",0,[143,362,396,357],{"zf":33,"zl":8,"zp":{"gs_ss":"1"}}],["china chinese spy balloon",0,[143,362,396,357],{"zf":33,"zl":8,"zp":{"gs_ss":"1"}}]]' # 移除首尾冗余双引号(如果原始字符串包含) raw_str = raw_str.strip('"') # 解析为Python嵌套列表 parsed_data = ast.literal_eval(raw_str) # 提取每个子数组的第一个元素 target_elements = [sub_arr[0] for sub_arr in parsed_data] # 输出结果 print(target_elements)
运行结果
执行代码后会输出:
['guns', 'china chinese spy balloon']
内容的提问来源于stack exchange,提问作者Sundios
相关产品推荐
相关产品推荐

