求解答
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可能还会变长求大佬解答!! 您可以通过Python的split函数来实现这个任务。下面是一个Python函数,该函数可以把str1变成str2。
def convert_str(str1):
parts = str1.split('.')
str2 = '["' + '"]["'.join(parts) + '"]'
return str2
str1 = "data.sub_order_list.process_list.material_list.material_code"
print(convert_str(str1))
这个函数将str1分割成多个部分,然后用"]["把它们连起来,最后在最开始和最末尾加上["和"]。
运行这段代码后,会打印出和str2相同的字符串:
["data"]["sub_order_list"]["process_list"]["material_list"]["material_code"]
注意,如果str1的格式有所改变(比如有的部分不再是以点分隔的),那么这个函数可能就不能正确处理了。所以你应该确保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:} isdkz 发表于 2023-7-7 18:43
您可以通过Python的split函数来实现这个任务。下面是一个Python函数,该函数可以把str1变成str2。
大佬不对啊运行的结果是这样的
["data"]["sub_order_list"]["process_list"]["material_list"]["material_code"]
本帖最后由 isdkz 于 2023-7-7 19:05 编辑
今天又起雾了 发表于 2023-7-7 18:47
大佬不对啊运行的结果是这样的
["data"]["sub_order_list"]["process_list"]["material_li ...
这个应该能满足你的需求:
import re
str1 = "data.sub_order_list.process_list.material_list.material_code"
str2 = re.sub(r'(\w+)(?!\])', '["\g<1>"]', str1).replace('.', '')
print(f'"{str2}"')
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}\"")
sfqxx 发表于 2023-7-7 19:15
感谢大佬
页:
[1]