Python 如何从';在两个分隔符之间设置,然后将另一个值设置为分隔符后面的值?

Python 如何从';在两个分隔符之间设置,然后将另一个值设置为分隔符后面的值?,python,Python,假设我有一个字符串,如下所示: newData = "[Fruit]Apple" 如何从发送的字符串中设置这些变量 type = "Fruit" food = "Apple" 您可以使用.split() 您可以使用.split() 替换和拆分: type, food = newData.replace('[','').split(']') 或者不使用替换(credit@Bakuriu),使用切片: 替换和拆分: type, food = newData.replace('[','').sp

假设我有一个字符串,如下所示:

newData = "[Fruit]Apple"
如何从发送的字符串中设置这些变量

type = "Fruit"
food = "Apple"
您可以使用
.split()

您可以使用
.split()


替换
拆分

type, food = newData.replace('[','').split(']')
或者不使用
替换
(credit@Bakuriu),使用切片:


替换
拆分

type, food = newData.replace('[','').split(']')
或者不使用
替换
(credit@Bakuriu),使用切片:


似乎很琐碎。。。你试过什么不起作用的?
m=re.match(r'\[(?Pw+)\](?P\w+),“[水果]苹果”);类型=m.group(“类型”);food=m.group('name')
?有什么嵌套?@Bakuriu正则表达式的版本实际上是,这也意味着这可能是重复的。看起来很琐碎。。。你试过什么不起作用的?
m=re.match(r'\[(?Pw+)\](?P\w+),“[水果]苹果”);类型=m.group(“类型”);food=m.group('name')
?有什么嵌套?@Bakuriu正则表达式的版本实际上是重复的,这也意味着这可能是重复的。我真的不认为在这里使用
replace
有什么价值。格式非常固定,因此最好只执行
newData[1:].split(']')
。如果格式变得更复杂,
replace
无论如何也不会起作用。@Bakuriu我也想到了,但我也不能确定
[1::
在一般情况下是如何运行的,比如说
[
不在字符串的开头。如果
[
不在开头,您的解决方案也会失败,因为您获得了
类型=“Fruit”
(带首字母空格)而不是
“Fruit”
,如果该字符串用于查找某些内容等,则该字符串可能很重要。@Bakuriu
replace
不会留下前导空格,如果
[
不在起始位置:在
[
之前的前导空格最后变成
类型
>[a] b.replace(“[”,”).split(“]”)-->['a”,“b']]
。当然,你可以
lstrip
之前的数据,但在那一点上,你可以只做
newData.lstrip()[1:][/code>。我真的看不出在这里使用
replace
的价值。格式是如此固定,可能只做
newData[1:][.split('])
。如果格式变得更复杂,
replace
无论如何也不会起作用。@Bakuriu我也想到了,但我也不能确定在一般情况下
[1:
是如何运行的,比如说
[
不在字符串的开头。如果
[
不是一开始,您的解决方案也会失败,因为您获得的是
type=“Fruit”
(带初始空格)而不是
“Fruit”
,如果该字符串用于查找某些内容等,则该字符串可能非常重要。@Bakuriu
replace
不会在
[
不是它的起点:在
[
之前的前导空格最后变成
类型:
>>'[a]b.替换('['','').split(']')-->['a','b']
。当然,你可以
lstrip
之前的数据,但在这一点上你可以只做
newData.lstrip()[1:
type, food = newData[1:].split(']')