假设我有以下字符串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表示形式。