java - Java 分割包含换行符的字符串

标签 java string split

假设我有一个以下字符串str:

GTM =0.2
Test =100
[DLM]
ABCDEF =5

(是的,它包含换行符)我试图用 [DLM] 分隔符子字符串进行分割,如下所示:

String[] strArr = str.split("[DLM]");

为什么当我这样做时:

System.out.print(strArr[0]);

我得到这个输出:GT

当我这样做

System.out.print(strArr[1]);

我得到=0.2

这有任何意义吗?

最佳答案

str.split("[DLM]"); 应为 str.split("\\[DLM\\]");

为什么?

[]special charactersString#split接受正则表达式。

我更喜欢的一个解决方案是使用 Pattern#quote :

str.split(Pattern.quote("[DLM]"));

quote 返回给定正则表达式的 String 表示形式。

关于java - Java 分割包含换行符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19836801/

相关文章:

java - 如何调试部署在Weblogic上的EJB

java - 除了 java.text.SimpleDateFormat 之外,还有 java.text.DateFormat 的其他实现吗

java - 在事务结束时发送事件

android - 如何在xml android中显示大于等于

java - 匹配一个或多个数字 1-9、一个 '|' 、一个或多个 '*"和零个或多个 ',' 的正则表达式

java - 在 Mongo 中构建倒排列表的更快方法

string - 如何在 Swift 中对字符串的两个数字求和

Java 将带有换行符的字符串拆分为数组,其中使用缓冲读取器从文件中读取字符串

python - 将 Numpy 数组拆分为每列的数组

java - 解析和操作字符串的有效方法