1.定义
Java中的 split 函数是用于按指定字符(串)或正则去分割某个字符串,结果以字符串数组形式返回;
例如:
package com.java.model;
public class test {
public static void main(String[] args) {
String str="1234-5678";
String[] s=str.split("-");
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
}
}
}
运行结果:
2.特殊字符串
但是对某些特殊字符,如果字符(串)正好是正则的一部分,则需要转义才能使用,
这些字符有 | , + , * , ^ , $ , / , | , [ , ] , ( , ) , . , \等, 因它们是正则表达式中的一部分, 所以如果想用该字符本身, 这些字符需要进行转义才能表示它本身;
例如:
若使用 | 竖线去分割某个字符串,因为 | 本身是表达式中的一部分,所以需要 \ 去转义,因为要转义使用 \ ,而这个 \ 本身也是正则表达式中的一种,因而还得需要一个 \ ,总共两个 \
package com.java.model;
public class test {
public static void main(String[] args) {
String str="1234|5678";
String[] s=str.split("\\|");
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
}
}
}
结果是一样的:
若是直接使用 | 来分割的话,会有什么结果呢?
package com.java.model;
public class test {
public static void main(String[] args) {
String str="1234|5678";
String[] s=str.split("|");
for (int i = 0; i < s.length; i++) {
System.out.print(s[i]+",");
}
}
}
运行结果:
结果是每个字符都被分割了,而不是以 | 来进行分割的!