说我有一个以下字符串str:
GTM =0.2
Test =100
[DLM]
ABCDEF =5
Run Code Online (Sandbox Code Playgroud)
(是的,它包含换行符)我试图用[DLM]分隔符子串分割如下:
String[] strArr = str.split("[DLM]");
Run Code Online (Sandbox Code Playgroud)
为什么我这样做:
System.out.print(strArr[0]);
Run Code Online (Sandbox Code Playgroud)
我得到这个输出: GT
当我这样做的时候
System.out.print(strArr[1]);
Run Code Online (Sandbox Code Playgroud)
我明白了 =0.2
这有什么意义吗?
str.split("[DLM]"); 应该 str.split("\\[DLM\\]");
为什么?
[并且]是特殊字符并String#split接受正则表达式.
我更喜欢使用的解决方案Pattern#quote:
str.split(Pattern.quote("[DLM]"));
quote返回给定正则表达式的String表示形式.
| 归档时间: |
|
| 查看次数: |
1091 次 |
| 最近记录: |