仅将文本留在括号内

时间:2017-12-18 10:26:03

标签: java selenium-webdriver

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

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)

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

2 个答案:

答案 0 :(得分:2)

使用像

这样的正则表达式
\(.*\)

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

答案 1 :(得分:2)

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

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

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