Jav*_*dez 7 java text character
我使用以下方法来检测字符是否是空格:
Character.isWhiteSpace(char character);
Run Code Online (Sandbox Code Playgroud)
现在我需要检测的所有变种换行符(\n,\r,等)适用于所有平台(Linux操作系统,在Windows,Mac OSX,等).有没有类似的方法来检测字符是否换行?如果没有,我如何检测所有可能的变体?
从评论中编辑:由于我不知道换行符可以用几个字符表示,我在问题中添加了一些上下文.
我正在实现该write(char[] buffer, int offset, int length)方法Writer(参见Javadoc).除了其他操作,我需要检测内部的换行符buffer.我试图避免创建String从buffer保存记忆,因为我已经看到了,有时buffer过大(几MB).
有没有办法检测断行而不创建String?
使用正则表达式为您完成工作:
if (!String.valueOf(character).matches("."))
Run Code Online (Sandbox Code Playgroud)
如果没有DOTALL开关,则点匹配除换行符之外的所有字符,根据文档包括:
'\n'),"\r\n"),'\r'),'\u0085'),'\u2028')或'\u2029).请注意,例如,存在换行符序列\r\n,但您询问了各个字符.正则表达式解决方案可以使用一个或两个char输入.