字符串转换
【求助帖】请及时确认最佳答案,下次提问时可以得到更多关注,问题可以更快解决
str1 = "data.sub_order_list.process_list.material_list.material_code"
str2 = "["data"]["sub_order_list"]["process_list"]["material_list"]["material_code"]"
str1字符串怎么通过代码变成str2,str1可能还会变长求大佬解答!! import re
def convert_str(str1):
str2 = re.sub(r'(\w+)(?!\])', '["\g<1>"]', str1)
return str2
str1 = "data.sub_order_list.process_list.material_list.material_code"
print(convert_str(str1))
要将str1转换为str2,可以按照以下步骤进行操作:
1. 通过使用字符串切片,将`data.sub_order_list.process_list.material_list.material_code`中的每个部分提取出来。
2. 使用提取的各个部分构建一个新的字符串,即str2。
下面是一个示例代码,用于实现上述步骤:
str1 = "data.sub_order_list.process_list.material_list.material_code"
# 切分str1
parts = str1.split('.')
# 构建str2
str2 = '["{}"]'.format('"]["'.join(parts))
print(str2)
输出:
["data"]["sub_order_list"]["process_list"]["material_list"]["material_code"]
这样就成功地将str1转换为str2了。无论str1的长度如何变化,该代码都能正常工作。
求最佳答案{:10_254:} 本帖最后由 学爬虫的先生 于 2023-7-7 18:51 编辑
str1 = "data.sub_order_list.process_list.material_list.material_code"
split_list = str1.split('.')
str2 = ''
for item in split_list:
if '[' in item:
index = item.index('[')
key = item[:index]
index = item
str2 += '[\"{}\"]{}'.format(key, index)
else:
str2 += '\"{}\"'.format(item)
print(str2) 学爬虫的先生 发表于 2023-7-7 18:48
str1 = "data.sub_order_list.process_list.material_list.material_code"
split_list = st ...
["data"]["sub_order_list"]["process_list"]["material_list"]\"material_code\" 大佬你这个差一点 目前最好的回复 感谢您 sfqxx 发表于 2023-7-7 18:45
要将str1转换为str2,可以按照以下步骤进行操作:
1. 通过使用字符串切片,将`data.sub_order_list
["data"]["sub_order_list"]["process_list"]["material_list"]["material_code"]
大佬不是这样的 本帖最后由 学爬虫的先生 于 2023-7-7 19:01 编辑
str1 = "data.sub_order_list.process_list.material_list.material_code"
split_list = str1.split('.')
str2 = ''
for item in split_list:
if '[' in item:
index = item.index('[')
key = item[:index]
index = item
str2 += '[\"{}\"]{}'.format(key, index)
else:
str2 += '[\"{}\"]'.format(item)
print(f"\"{str2}\"")
vscode输出结果:
"["data"]["sub_order_list"]["process_list"]["material_list"]["material_code"]" 本帖最后由 isdkz 于 2023-7-7 19:04 编辑
import re
def convert_str(str1):
str1 = str1.replace('.', '')
str2 = re.sub(r'(\w+)(?!\])', '["\g<1>"]', str1)
return str2
str1 = "data.sub_order_list.process_list.material_list.material_code"
print(f'"{convert_str(str1)}"')
新手鱼友前来学习{:5_109:}
页:
[1]