java——split的用法(字符串拆分)

2022-10-26 14:47:49 浏览数 (3)

字符串拆分

代码语言:javascript复制
 public static void main(String[] args) {
        String str = "I Live In The Home";
        String[] ret = str.split(" ");
        for (String x : ret){
            System.out.println(x);
        }
        System.out.println("原来的字符串为:"   str);
        //System.out.println(Arrays.toString(ret));
    }

输出结果为:

从这里可以看到,本代码是用空格拆分字符串,但是最开始的字符串不会因为字符串的分割而改变(String定义的字符串不会被修改)

注意: 这里要引出一个概念:正则表达式 就比如下面的例子:

代码语言:javascript复制
   public static void main(String[] args) {
        String str = "192.43.67";
        //想按照“.”来切分
        String[] result = str.split(".");
        for (String x : result){
            System.out.println(x);
        }
    }

以上代码没有执行结果,也就是说split方法在str里面没有找到"."这个字符,我们知道,“.”在正则表达式中是一个特殊字符 ,需要进行转义才能识别出来。如下:

代码语言:javascript复制
   String str = "192.43.67";
        //想按照“.”来切分
       //.在正则表达式中是一种特殊符号,为了让split识别出源字符串中的“.”,就需要进行转意义“\.”
        String[] result1 = str.split("\.");
        for (String x : result){
            System.out.println(x);
        }

“.” 里面有两个反斜杠,代表的两个转义, 一个是在java中进行转义,一个是在正则中表示转义

与之用法相同的符号有:“| * ”

实际应用

代码语言:javascript复制
 public static void main(String[] args) {
        //split的实际应用
        String string = "name=zhangsan&age=14&sex=male";
        //1.先按照&进行拆分
        String[] result = string.split("&");
        for (String tmp : result){
            //现在已经按照&拆分好了,开始进行=的拆分
            String[] ret = tmp.split("=");
            if (ret.length != 2){
                continue;
            }
            System.out.println(ret[0]   ": "   ret[1]);
        }
    }

1 人点赞