如何在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中的括号内获取文本?的主要内容,如果未能解决你的问题,请参考以下文章