如何使用Python将特定格式字符串转换为字符串数组
解决方法:将空格分隔的列表字符串转为Python列表
下面提供几种实用的实现方式,根据你的场景选择即可:
方法1:字符串替换 + 安全解析
如果输入格式固定(元素之间都是' '这种单引号+空格+单引号的组合),直接替换分隔符再解析最省事:
import ast input_str = "['apple' 'bat' 'cat']" # 把元素间的空格替换成逗号 processed_str = input_str.replace("' '", "','") # 用ast.literal_eval安全解析成列表(比eval更安全,避免恶意代码执行) result = ast.literal_eval(processed_str) print(result) # 输出: ['apple', 'bat', 'cat']
方法2:拆分字符串后逐个解析
如果元素之间可能有多个空格,用拆分的方式更稳妥:
import ast input_str = "['apple' 'bat' 'cat']" # 去掉首尾的方括号,提取中间的元素部分 inner_content = input_str.strip('[]') # 按空格拆分得到单个带引号的元素字符串 item_strings = inner_content.split() # 逐个解析成字符串元素 result = [ast.literal_eval(item) for item in item_strings] print(result) # 输出: ['apple', 'bat', 'cat']
方法3:正则表达式提取(最灵活)
如果输入格式有变动(比如元素间有其他分隔符),用正则匹配单引号包裹的内容最通用:
import re input_str = "['apple' 'bat' 'cat']" # 匹配所有单引号内的内容 result = re.findall(r"'(.*?)'", input_str) print(result) # 输出: ['apple', 'bat', 'cat']
内容的提问来源于stack exchange,提问作者Anonymous
相关产品推荐
相关产品推荐

