我正在尝试做这个例子:
sentence="{My name is {Adam} and I don't work here}"
结果应为'Adam'
所以我要说的是,无论是否存在许多括号,我希望结果显示最后一个闭合括号的值
答案 0 :(得分:0)
您不能只为这样的字符串编制索引...最好的方法是使用一个聪明的正则表达式:
>>> import re
>>> re.search(r'{[^{}]*}', "{My name is {Adam} and I don't work here}").group()
'{Adam}'
此正则表达式模式实质上是搜索其中没有字符{}
或{
的每组}
。
答案 1 :(得分:0)
您的问题尚不清楚,但是如果在任何水平上都只能有一组外部括号(即"{My name} {is {Adam}}"
和"{My {name} is {Adam}}"
是无效的输入),则可以利用这一事实你想要的是句子中的最后一个大括号。
def deepest(sentence):
intermediate = sentence.rpartition("{")[-1]
return intermediate[:intermediate.index("}")]
deepest("{My name is {Adam} and I don't work here}")
# 'Adam'
deepest("{Someone {set us {{up} the bomb}!}}")
# 'up'
尽管regex可能会慢得多,但是regex的答案也做出了这样的假设。如果可能有多个外部括号,请使您的问题更清楚。