如何将Java lambda表达式用于正则表达式

时间:2017-08-11 11:55:33

标签: java selenium lambda java-8

在下面的代码中,我从列表中获取所有元素,并在"("之后拆分文本。

for (WebElement element : measureKeys) {
    String[] measure = element.getText().split("\\(");
    testing.add(measure[0])
}

如何在上面的代码中使用lambdas

3 个答案:

答案 0 :(得分:8)

您实际上可以将循环体转换为lambda表达式并收集结果

List<String> testing = 
    measureKeys.stream()
               .map(e -> element.getText().split("\\(")[0])
               .collect(Collectors.toList());

答案 1 :(得分:1)

另一种选择是,

List<String> list= Pattern.compile("\\(")
                      .splitAsStream(measureKeys)
                      .collect(Collectors.toList());

答案 2 :(得分:0)

    List<String> measureKeys = new ArrayList<>();
    List<String> a = new ArrayList<>();
    measureKeys.forEach(element -> a.add(element.split("\\(")[0]));

这是你的愿望吗?