java替换\\ r \\ n并将它们放在数组中

时间:2016-04-12 03:21:44

标签: java

我在这里尝试了所有的例子但是没有一个在下面的情况下工作,我想替换“\ n \ r”并准备一个如下的数组。

我尝试按以下方式运行,但没有向我显示预期的结果

String m = "\\r\\nDate cf Mfg. \\r\\nMRP \\r\\n(Incl.of ali taxes) \\r\\nI I i I I I I I I I I I I I ! I I I Ill I I I I Ill \\r\\nS.No:602NRJT053740 \\r\\n61281660 \\r\\nModel .•GL-B171RDCM \\r\\n: ADGZEBNON) \\r\\nRefrigerator ";
String ar[] = m.replaceAll("\\r\\n", "#").split("#");
System.out.println(ar.length);

1 个答案:

答案 0 :(得分:3)

问题在于您的字符串文字:您双重转义\r\n,因此它们实际上不是\r\n,它们是反斜杠加r和反斜杠加n

正则表达式中需要双反斜杠,因为它的内容是两次无转义 - 一次是Java编译器,一次是正则表达式引擎。另一方面,字符串文字需要单个转义。

要解决此问题,请从初始化m的字符串文字中删除双反斜杠:

String m = "\r\nDate cf Mfg. \r\nMRP \r\n(Incl.of ali taxes) \r\nI I i I I I I I I I I I I I ! I I I Ill I I I I Ill \r\nS.No:602NRJT053740 \r\n61281660 \r\nModel .•GL-B171RDCM \r\n: ADGZEBNON) \r\nRefrigerator ";

Demo(打印10张)。