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]
    }
}

posted @ 2021-12-16 19:00  今天又双叒叕在敲代码  阅读(23)  评论(0编辑  收藏  举报