假设我有一个以下字符串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 characters和 String#split
接受正则表达式。
我更喜欢的一个解决方案是使用 Pattern#quote
:
str.split(Pattern.quote("[DLM]"));
quote
返回给定正则表达式的 String 表示形式。
关于java - Java 分割包含换行符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19836801/