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

标签 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);

最佳答案

问题出在您的字符串文字中:您对 \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)。

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

相关文章:

java - 无法从asp页面调用java方法:

java - 为什么我的扫描程序不能使用 2 个不同的 if 语句?

java - Android studio 不检查 mFusedLocationProviderClient.getLastLocation().addOnSuccessListener 并返回当前位置 null

java - 如何将 jconsole 安装/添加到我的 JDK?

java - 具有 Avro 记录的 Kafka Streams TopologyTestDriver 的架构注册问题

java - 如何执行 @Query(value ="") mongorepository 查询以获取字符串格式的执行日期记录

java - 如何为 Spring 托管 bean 编写 Junit 测试用例?

java - 从 JAX-WS 服务返回大文件

java - 如何在同一用户输入中接受字符串或整数

java - Spring 启动: Cannot load configuration class