網頁

2021/11/5

Java 11 String lines()作用

Java 11 Stringlines()方法可將一個字串依換行符分成數個並返回Stream<String>


字串中如有換行符(line terminator)如\n\r\r\n,則lines()會依此分割字串為數個並以Stream<String>返回。

String names = "John\nMary\nTony";

List<String> nameList =  names.lines().collect(Collectors.toList());

nameList.forEach(System.out::println);

執行結果如下。

John
Mary
Tony

lines()的效能比split("\\R")好,因為其提供惰性執行及較精簡的的換行符搜尋。
\R是Java 8才有的regex換行匹配符(linebreak matcher),相當於代表換行的unicode字元\u000D\u000A|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029]


沒有留言:

張貼留言