首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中拆分复杂字符串

如何在Python中拆分复杂字符串
EN

Stack Overflow用户
提问于 2019-05-29 00:50:36
回答 1查看 183关注 0票数 0

给定以下字符串:

代码语言:javascript
复制
my_string = "fan_num=2,fan1=0,fan2=0,chain_xtime8={X0=8,X1=3,X2=11},chain_offside_6=0,chain_offside_7=0,chain_offside_8=0,chain_opencore_6=0,chain_opencore_7=0,chain_opencore_8=0"

如何对其进行拆分,以获得以下输出:

代码语言:javascript
复制
[ 
  fan_num=2,
  fan1=0,
  fan2=0,
  chain_xtime8={X0=8,X1=3,X2=11},
  chain_offside_6=0,
  chain_offside_7=0,
  chain_offside_8=0,
  chain_opencore_6=0,
  chain_opencore_7=0,
  chain_opencore_8=0
]

我试过了:

代码语言:javascript
复制
output = my_string.split(',')

但是,这会分割chain_xtime8值,这并不是我想要的。我使用的是Python 2.7。

EN

回答 1

Stack Overflow用户

发布于 2019-05-29 03:03:39

通过一系列复杂的替换,我将这种风格转换为JSON。然后使用json.loads将其转换为Python字典。这里假设您不使用要替换的字符,并且继续使用整数作为值

这显然可以收紧,但我想让它保持可读性。

代码语言:javascript
复制
import json

my_string = "fan_num=2,fan1=0,fan2=0,chain_xtime8={X0=8,X1=3,X2=11},chain_offside_6=0,chain_offside_7=0,chain_offside_8=0,chain_opencore_6=0,chain_opencore_7=0,chain_opencore_8=0"

my_string = '{"' + my_string + '"}'
my_string = my_string.replace('=', '":"')
my_string = my_string.replace(',', '","')
my_string = my_string.replace('"{', '{"')
my_string = my_string.replace('}"', '"}')
myDict = json.loads(my_string)

myDict结果的pprint

代码语言:javascript
复制
{'chain_offside_6': '0',
 'chain_offside_7': '0',
 'chain_offside_8': '0',
 'chain_opencore_6': '0',
 'chain_opencore_7': '0',
 'chain_opencore_8': '0',
 'chain_xtime8': {'X0': '8', 'X1': '3', 'X2': '11'},
 'fan1': '0',
 'fan2': '0',
 'fan_num': '2'}

另外还有一个例子-

代码语言:javascript
复制
print(myDict['chain_xtime8']['X0'])
>> 8
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56346855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档