Java 11 String
的lines()
方法可將一個字串依換行符分成數個並返回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]
)
沒有留言:
張貼留言