簡體   English   中英

Java Scanner 指定行分隔符

[英]Java Scanner specify line separator

我使用 Java 中的Scanner類進行 IO 操作。 我想讀取文件中以“\\n\\r|[\\r\\n]”結尾的每一行,不包括其他也可能代表行分隔符的分隔符,例如“[ \
\\2029\\0085]” . 如果我使用Scanner.nextLine() ,除非我更改Scanner的源代碼,否則將包含這些 un​​icode 分隔符。 如果我使用Scanner.next("some pattern") ,空行將被忽略,這不是我所期望的。 有沒有合適的方法來做到這一點? 謝謝。

Scanner 不提供覆蓋它用於行尾的模式的方法。

但是,您可以像這樣實現類似的功能:

String line = scanner.next("[\R
\u2028\u2029\u0085]");

並使用scanner.hasNext("[\\R\
\
\…]")而不是scanner.hasNext("[\\R\
\
\…]") scanner.hasNextLine()

注意: \\R是在第 8 版中引入的,表示任何形式的“行尾”字符序列(即適用於 windows、*nix 和 mac 的\\r\\n\\n\\r

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM