2015-10-21 76 views
1
public List<String> pageLabelApp() {  
    List<WebElement> lableList = getDriver().findElements(By.cssSelector("#Factors label")); 
    List<String> labelOne = new ArrayList<String>(); 
    for (WebElement temp : lableList) { 
     labelOne.add(temp.getText()); 
    } 

    System.out.println("Labels:" + labelOne); 

    return labelOne; 
} 

输出:从webelement列表中删除逗号和分号

Labels:[Rate:, , , Method:, , ] 

我是新来的网络自动化和使用硒+ jbehave

从上面的输出,我需要消除逗号和冒号,有人可以帮助我吗?

我的预期输出是

Labels:[Rate, Method] 

回答

3

谈到逗号,他们是在输出,因为您已经添加空字符串到列表中。您可以通过使用isEmpty()法空字符串检查可以避免这一点:

for (WebElement temp : lableList) { 
    String text = temp.getText().trim(); // trim() removes leading and trailing whitespaces 

    if (!str.isEmpty()) 
    { 
     labelOne.add(text); 
    } 
} 

什么分号(如果只有分号打扰你),你可以很容易地使用.replaceAll()方法:

for (WebElement temp : lableList) { 
    String text = temp.getText().trim().replaceAll(":", ""); 

    if (!str.isEmpty()) 
    { 
     labelOne.add(text); 
    } 
} 

如果有许多类型的符号要删除,或者,例如,如果只想在字符串末尾删除分号,则应使用正则表达式。

+0

确实有效;感谢您的帮助:) –

+1

@DavidSherin然后接受回答,请 – Saifur