繁体   English   中英

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

[英]How to use Java lambda Expressions for regular expressions

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

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

如何为上述代码使用Lambda

您基本上可以将循环的主体转换为lambda表达式并收集结果

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

另一种选择是

List<String> list= Pattern.compile("\\(")
                      .splitAsStream(measureKeys)
                      .collect(Collectors.toList());
    List<String> measureKeys = new ArrayList<>();
    List<String> a = new ArrayList<>();
    measureKeys.forEach(element -> a.add(element.split("\\(")[0]));

那是你的愿望吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM