我想在
中找到一个文本(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
答案 0 :(得分:0)
您的问题是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