Java SE之正则表达式五:切割

时间:2023-03-09 05:50:27
Java SE之正则表达式五:切割
/**
*
* @author Zen Johnny
* @date 2018年4月29日 下午3:53:55
*
*/
package demo.regex;
/*
正则表达式:切割
*/
public class RegexSplitDemo {
public static void splitNames(String string) {
String[] names = string.split("(,|\\s|\\.|;)+");//按照多个空格或者逗号或者分号切割,此处不要用*
for(String item:names)
System.out.println(item);
} //切割文件目录
public static void splitDirs(String string) {
String[] dirs = string.split("\\\\+");
for(String item:dirs)
System.out.println(item);
} public static void namesTest() {
splitNames("张三,李四,王五");
splitNames("张三 ;李四 ,.;王五");
/*
张三
李四
王五
张三
李四
王五
*/
}
public static void dirsTest() {
splitDirs("C:\\Desktop\\project\\data.txt");
/*
C:
Desktop
project
data.txt
*/
} public static void splitDemo(String string, String regex) {
String[] items = string.split(regex);
for(String item:items)
System.out.println(item);
} public static void main(String args[]) {
// namesTest(); dirsTest(); splitDemo("32432443styddxcccccdcfeweertryt", "(.)\\1+");//按照叠词切割,+号表示前面邻近的规则执行多次
/*
【重点:\1】
为了让规则的结果被重用,可以让规则封装成一个组,用()完成。组的出现都有编号:从1开始想要使用已有的组可以通过格式:\ + 组序号
Eg:以叠词作为分隔符号,"(.)\1"
*/
}
}