12.16学习总结
(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] } }