仅将文本留在括号内

问题描述 投票:1回答:2

有人可以帮我解决以下问题:我在页面上找到了我正在寻找的元素

WebElement h2 = ol.findElement(By.xpath("../h2" + h2current));
        String h2currentShorted = h2.getText();
        String h2currentShorted2 = h2currentShorted.substring(24);

现在,原始文本使用多种语言,因此大小不同(字符数)。例子:

Tidligere stillinger ( 1. Jul 2016 - 1. Jul 2017)
Vergangene Gesamtwertung ( 1. Jul 2016 - 1. Jul 2017)
Previous standings ( 1. Jul 2016 - 1. Jul 2017)

以上是三种不同语言的文字。如何只拾取括号内的文本而不是其他内容。使用上面的代码,我删除了不必要的字符,但是如果有一种解决方案适用于所有语言 - 只需要在括号内拾取文本?先感谢您

java selenium-webdriver
2个回答
2
投票

正如其他人所说,使用正则表达式,但考虑使用组更优雅的方式。

Pattern p = Pattern.compile(".*\\((.*)\\).*");
Matter m = p.matcher(h2.getText());
String s = m.group(1);

变量s将仅包含括号内的文本。


2
投票

使用正则表达式

\(.*\)

或使用String.indexOf来确定(和)的位置。

© www.soinside.com 2019 - 2024. All rights reserved.