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