我在这里尝试了所有示例,但是在以下情况下它们都没有起作用,我想替换“ \ 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);

最佳答案

问题出在您的字符串文字中:您对\r\n进行了两次转义,因此它们实际上不是\r\n,它们是成对的反斜杠加r和反斜杠加n

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

要解决此问题,请从初始化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)。

关于java - java替换\\r\\n并将它们放入数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36563066/

10-13 23:54