找到并保持行尾(^ M)

时间:2016-01-27 01:17:34

标签: java regex java.util.scanner dos end-of-line

我正在尝试使用以下内容扫描具有DOS ^M作为行尾的文件:

Scanner file = new Scanner(new File(saveToFilePath)).useDelimiter("(?=\^M)")

换句话说,我想逐行阅读文本,但也保留标记行尾的^M。使用\n这很容易,但我对正则表达式并不好,DOS end-of-line让我发疯。

1 个答案:

答案 0 :(得分:0)

经过一番研究,我终于明白了。以下是查找和保留^ M的正确正则表达式。我不知道这意味着CTRL-M,所以你的一些回复对此有帮助。出于某种原因,“M”不包含在正则表达式中,我不确定它为什么会起作用,但确实如此。这为我们提供了一个分隔符,用于在搜索难以捉摸的“^ M”时包含分隔符(带有前瞻性正则表达式)的行。

扫描仪文件=新扫描仪(来源).useDelimiter(“(?= \ p {Cntrl})”)

谢谢大家。