我在这里尝试了所有的例子但是没有一个在下面的情况下工作,我想替换“\ 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);
答案 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张)。