Java干货|Java干货 - String.split()踩过的那些小坑
【Java干货|Java干货 - String.split()踩过的那些小坑】在日常开发中, 我们往往需要对字符串进行切割, 而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]);
}
}
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用