如何在Python中的括号内获取文本?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Python中的括号内获取文本?相关的知识,希望对你有一定的参考价值。

我想在里面找到一个文本

(German: [ˈadɔlf ˈhɪtlɐ] (About this sound listen); 20 April 1889 – 30 April 1945) in a paragraph

预期产量:

German: [ˈadɔlf ˈhɪtlɐ] (About this sound listen); 20 April 1889 – 30 April 1945

我在用:

s[s.find("(")+1:s.find(")")] 

但结果如下:

(German: [ˈadɔlf ˈhɪtlɐ] ( listen
答案

你的问题是s.find(")")匹配它在s中找到的第一次出现的“)”,而你想要的是最后一次。你可以使用rfind找到字符串“)”的最后一次出现:

s = "(German: [ˈadɔlf ˈhɪtlɐ] (About this sound listen); 20 April 1889 – 30 April 1945)"

s[s.find("(")+1:s.rfind(")")]
#German: [ˈadɔlf ˈhɪtlɐ] (About this sound listen); 20 April 1889 – 30 April 1945

如果要访问括号内层,只需再次执行上一步:

text = s[s.find("(")+1:s.rfind(")")]
text[text.find("(")+1:text.rfind(")")]
#About this sound listen

以上是关于如何在Python中的括号内获取文本?的主要内容,如果未能解决你的问题,请参考以下文章

Python:如何在方括号内获取多个元素

如何理解这段代码片段中的两对括号?

如何从“活动”中的“编辑”文本中获取值并将其用于片段?

如何使用正则表达式删除括号内的文本?

从活动中获取片段内的按钮

OnItemClick 如何从列表视图中获取单击项目的文本值