gpt4 book ai didi

java - 检测 `char[]` 中的换行符

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:20:22 24 4
gpt4 key购买 nike

我使用以下方法来检测字符是否为空格:

Character.isWhiteSpace(char character);

现在我需要检测所有平台(Linux)的所有换行符(\n\r 等) 、Windows、Mac OSX 等)。有没有类似的方法来检测字符是否换行?如果没有,我如何检测所有可能的变体?


根据评论编辑:因为我不知道换行符可以由多个字符表示,所以我在问题中添加了一些上下文。

我正在 Writer 中实现 write(char[] buffer, int offset, int length) 方法(参见 Javadoc )。除了其他操作之外,我还需要检测 buffer 中的换行符。我试图避免从 buffer 创建 String 以保留内存,因为我已经看到有时 buffer 太大(几 MB)。

有没有什么方法可以在不创建 String 的情况下检测换行符?

最佳答案

使用正则表达式为您完成工作:

if (!String.valueOf(character).matches("."))

如果没有 DOTALL 开关,点匹配除换行符外的所有字符,根据 documentation包括:

  • 换行(换行)字符('\n'),
  • 一个回车符紧跟一个换行符(“\r\n”),
  • 一个独立的回车符('\r'),
  • 下一行字符('\u0085'),
  • 一个行分隔符('\u2028'),或者
  • 段落分隔符 ('\u2029)。

请注意,存在换行符序列,例如\r\n,但您询问的是个别 个字符。正则表达式解决方案适用于一个或两个字符输入。

关于java - 检测 `char[]` 中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25915073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com