在日常开发中, 我们往往需要对字符串进行切割, 而String类已经给我们写好了
split()
的方法, 该方法返回的是切割完后的一个数组
调用String.split()
方法时, 我们只需要传入指定的切割符
即可完成切割操作, 然而, 我即将要说的小坑就是出现在切割符上. 因为有的字符需要进行转义, 而需要转义的字符又是我们常用来作为切割符的字符, 如: .
、|
、*
、+
(-_- 一副摊手脸)
对字符进行转义: 在需要转义的字符前加上\\
即可
"." -> 转义 -> "\\."
"|" -> 转义 -> "\\|"
举个栗子
public static void main(String[] args) {
String[] strArr = "A|B|C".split("\\|");
for (int i = 0; i < strArr.length; i++) {
System.out.println(strArr[i]);
}
}
如果非要作死用\
作为切割符的话
public static void main(String[] args) {
// 由于 \ 表示字符中就需要转义了, 所以 A\B\C 用代码表示就是"A\\B\\C"
String[] strArr = "A\\B\\C".split("\\\\"); // 转义作死的切割符
for (int i = 0; i < strArr.length; i++) {
System.out.println(strArr[i]);
}
}
Tips: 如果有多个分隔符, 可以用|
作为连字符
public static void main(String[] args) {
String str = "A|BCD";
String[] strArr = str.split("\\||C");
for (int i = 0; i < strArr.length; i++) {
System.out.println(strArr[i]);
}
}