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”
,如果该字符串用于查找某些内容等,则该字符串可能很重要。@Bakuriureplace
不会留下前导空格,如果[
不在起始位置:在[
之前的前导空格最后变成类型
:>[a] b.replace(“[”,”).split(“]”)-->['a”,“b']]
。当然,你可以lstrip
之前的数据,但在那一点上,你可以只做newData.lstrip()[1:][/code>。我真的看不出在这里使用replace
的价值。格式是如此固定,可能只做newData[1:][.split('])
。如果格式变得更复杂,replace
无论如何也不会起作用。@Bakuriu我也想到了,但我也不能确定在一般情况下[1:
是如何运行的,比如说[
不在字符串的开头。如果[
不是一开始,您的解决方案也会失败,因为您获得的是type=“Fruit”
(带初始空格)而不是“Fruit”
,如果该字符串用于查找某些内容等,则该字符串可能非常重要。@Bakuriureplace
不会在[
不是它的起点:在[
之前的前导空格最后变成类型:>>'[a]b.替换('['','').split(']')-->['a','b']
。当然,你可以lstrip
之前的数据,但在这一点上你可以只做newData.lstrip()[1:
。
type, food = newData[1:].split(']')