/**
*
* @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"
*/
}
}