2015-10-21 109 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