Maison > Java > javaDidacticiel > le corps du texte

Comment utiliser la méthode Java split()

WBOY
Libérer: 2023-05-21 23:01:28
avant
3833 Les gens l'ont consulté

Java中的split()方法可用于拆分字符串,其可基于正则表达式匹配实现字符串分隔。split()方法可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回;语法“stringObj.split([regex,[limit]])”,参数regex指定正则表达式分隔符,limit指定分割的份数。

java split()方法介绍

Java中的split()主要用于分隔字符串,可以根据匹配给定的正则表达式来拆分字符串。

split方法可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

stringObj.split([regex,[limit]])
Copier après la connexion
  • stringObj:必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。

  • regex:可选项。该句可以重写为:“该字符串或正则表达式对象指定使用单个或多个字符作为字符串的分隔符。”。如果忽略该选项,返回包含整个字符串的单一元素数组。

  • limit:可选项。该值用来限制返回数组中的元素个数。

说明:

split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator 不作为任何数组元素的部分返回。

举例:

public class SplitDemo {

     public static String[] ss = new String[20];

     public SplitDemo() {

         String s = "The rain in Spain falls mainly in the plain.";
         // 在每个空格字符处进行分解。
         ss = s.split(" ");
     }

     public static void main(String[] args) {

         SplitDemo demo = new SplitDemo();
         for (int i = 0; i < ss.length; i++)
             System.out.println(ss[i]);
     }

}
Copier après la connexion

程序结果:

The
rain
in
Spain
falls
mainly
in
the
plain.
Copier après la connexion

split()方法的使用

分隔符可以是任意字符、符号、数字、字符串等。

1、split(String regex)

1.1 单个分隔符

public class Test {
    public static void main(String[] args) {
        String str="2018,text,今天";
        //单个分隔符用引号括起来即可
        String[] data = str.split(",");
        for(int i=0;i< data.length;i++){
            System.out.println(data[i]);
        } 
    }
}
Copier après la connexion

上述代码输出结果

java split()方法如何使用

如果分隔符本身就是"|",那么就需要使用转义字符"\"让其产生效果,否则结果相反。

public class Test {
    public static void main(String[] args) {
        String str="a|bc|8";
        //java中\\表示一个普通\,\+特殊字符表示字符本身
        String[] data = str.split("\\|");
        for(int i=0;i< data.length;i++){
            System.out.println(data[i]);
        }
    }
}
Copier après la connexion

java split()方法如何使用

反之如果直接使用则会有相反效果, 输出字符串中的单个字符。如下所示:

public class Test {
    public static void main(String[] args) {
        String str="a|bc|8";
        //java中\\表示一个普通\,\+特殊字符表示字符本身
        String[] data = str.split("|");
        for(int i=0;i< data.length;i++){
            System.out.println(data[i]);
        }
    }
}
Copier après la connexion

java split()方法如何使用

1.2 多个分隔符

public class Test {
    public static void main(String[] args) {
        String str="2021年11月18日;英语,数学,语文;";
        //多个分隔符用引号括起来,并且用“|”进行分割
        String[] data = str.split(",|;");
        for(int i=0;i< data.length;i++){
            System.out.println(data[i]);
        } 
    }
}
Copier après la connexion

java split()方法如何使用

1.3 正则表达式表示分隔符

在正则表达式中"\d+"表示一个或多个数字,是用于从一堆数字字母以及其它字符组成的字符串中获取非数字字符或字符串。

public class Test {
    public static void main(String[] args) {
        String str="2018年11月18日abcd85gg688";
        //正则表达式中\d+表示一个或多个数字,java中\\表示一个普通\
        String[] data = str.split("\\d+");
        for(int i=0;i< data.length;i++){
            System.out.println(data[i]);
        } 
    }
}
Copier après la connexion

上述代码输出结果

java split()方法如何使用

特殊情况

  • 字符串开头有分隔符:开头产生一个空字符串,其余正常。

  • 分隔符相互紧挨着:每两个分隔符产生一个空字符串,若有三个分隔符则会有2各空字符,以此类推。

  • 字符串最尾部有分割符:末尾产生一个空字符串,其余正常。

2、split(String regex, int limit)

  • 如果 limit > 0,(从左到右)最多分割 n - 1 次,数组的长度将不会大于 n,结尾的空字符串不会丢弃。

  • 当 limit < 0 时,分割次数与匹配次数相同,并且数组长度没有限制。结尾的空字符串不会丢弃。

  • 如果 limit = 0,匹配到多少次就分割多少次,数组可以是任何长度,并且结尾空字符串将被丢弃。

也就是说,使用split方法时,如果只填一个正则表达式,结尾空字符串将被丢弃。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal