0

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

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

换句话说,我想逐行阅读文本,但也要保留^M标记行尾的那个。这很容易,\n但我不擅长正则表达式,而且 DOSend-of-line让我发疯。

4

1 回答 1

0

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

扫描仪文件 = new Scanner(source).useDelimiter("(?=\p{Cntrl})")

谢谢大家。

于 2016-01-27T19:20:02.440 回答