學習總結7
阿新 • • 發佈:2021-12-02
(1)今日安排
字串分割
以下例項使用了 split(string) 方法通過指定分隔符將字串分割為陣列:
public class JavaStringSplitEmp { public static void main(String args[]){ String str = "www-runoob-com"; String[] temp; String delimeter = "-"; // 指定分割字元 temp = str.split(delimeter); // 分割字串 // 普通 for 迴圈 for(int i =0; i < temp.length ; i++){ System.out.println(temp[i]); System.out.println(""); } System.out.println("------java for each迴圈輸出的方法-----"); String str1 = "www.runoob.com"; String[] temp1; String delimeter1 = "\\."; // 指定分割字元, . 號需要轉義 temp1 = str1.split(delimeter1); //分割字串 for(String x : temp1){ System.out.println(x); System.out.println(""); } } }
public class JavaStringSplitEmp { public static void main(String args[]){ String str = "www-runoob-com"; String[] temp; String delimeter = "-"; // 指定分割字元 temp = str.split(delimeter); //分割字串 // 普通 for 迴圈 for(int i =0; i < temp.length ; i++){ System.out.println(temp[i]); System.out.println(""); } System.out.println("------java for each迴圈輸出的方法-----"); String str1 = "www.runoob.com"; String[] temp1; String delimeter1 = "\\."; // 指定分割字元, . 號需要轉義 temp1 = str1.split(delimeter1); // 分割字串 for(String x : temp1){ System.out.println(x); System.out.println(""); } } }
在本例子中用到 String 類的 split 方法,其實在字串分割時可以呼叫 StringTokenizer,例項化一個 StringTokenizer 的物件,通過 hasMoreTokens() 與 nextToken()進行判斷並列印分割後的子字串。具體程式碼如下:
import java.util.*; import java.lang.*; public class Main { public static void main(String args[]) { String str="www.runoob.com"; // 例項化物件,並指向以 . 對 str 進行分割 StringTokenizer str2=new StringTokenizer(str, "."); // 對 str2 遍歷並列印子字串; while(str2.hasMoreTokens()){ System.out.println(str2.nextToken()); } } }
split() 方法在分割字串後,會從字串陣列的末端開始進行元素是否為空判斷,如果為空,則陣列長度 -1,一直判斷到一個非空的元素後停止,而這個非空元素之前的空的 字串 "" 會依舊保留。
package zifuchuan; import java.util.*; import java.lang.*; public class Main { public static void main(String[] args) { String s1 = "123-123.2-1--"; String[] ss1 = s1.split("-"); System.out.println(ss1.length);//3 System.out.println(Arrays.toString(ss1));//[123, 123.2, 1] String s2 = "123--123.2-1--"; String[] ss2 = s2.split("-"); System.out.println(ss2.length);//4 System.out.println(Arrays.toString(ss2));//[123, , 123.2, 1] } }