1. 程式人生 > >Java SE之正則表達式五:切割

Java SE之正則表達式五:切割

執行 dem sta for 開始 ring args cdc 多次

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

  

Java SE之正則表達式五:切割