Java中split方法简介

这篇具有很好参考价值的文章主要介绍了Java中split方法简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.split()方法介绍

语法:

public String[] split(String regex)

public String[] split(String regex, int limit)

功能:

通过指定的分隔符将字符串分割成若干个子字符串,子字符串数组通过返回值返回。

参数:

regex : 应用于字符串的正则表达式。

limit :数组中字符串的数量限制。如果它为零,它将返回所有匹配正则表达式的字符串。

返回值:

字符串数组

例外: PatternSyntaxException 如果正则表达式的模式无效

2.代码案例

2.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]);
        }
    }
}

运行结果:

2018

text

今天

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

字符串中包含"|"分隔符,需要通过"|"分隔符将字符串分割成若干个子字符串。

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

运行结果:

a

bc

8

2.3 字符串拆分为字符数组

将字符串分隔成单个字符数组。

方式1.用"|"

方式2.用"(?!^)"

如下所示:

public class Test {
    public static void main(String[] args) {
        String str = "a|bc|8";
        
        // 方式1.java中\\表示一个普通\,\|特殊字符表示字符本身
        String[] data = str.split("|");
        
        // 方式2.用"(?!^)"也能表示字符本身
        // String[] data = str.split("(?!^)");
        
        for (int i = 0; i < data.length; i++) {
            System.out.println(data[i]);
        }
    }
}

运行结果:

a

|

b

c

|

8

2.4 指定字符串数量限制

字符串分割成若干个子字符串,限制子字符串的个数。

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

如果 limit < 0,匹配到多少次就分割多少次,而且数组可以是任何长度。结尾的空字符串不会丢弃。

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

将limit 设置为 0:这将排除尾随的空字符串。

将limit 指定为 1,因此 split 方法仅返回1个子字符串。

将limit 指定为 2,因此 split 方法仅返回2个子字符串。

当limit 为负数时,它会在输出中包含尾随的空字符串。

public class Test {
    public static void main(String[] args) {
        String s1 = "hello/hi/bye///";
        for (String w : s1.split("/", 0)) { // 将limit 设置为 0:这将排除尾随的空字符串。
            System.out.println("returning words1:" + w);
        }
        System.out.println("------------------");
        for (String w : s1.split("/", 1)) { // 将limit 指定为 1,因此 split 方法仅返回1个子字符串。
            System.out.println("returning words2:" + w);
        }
        System.out.println("------------------");
        for (String w : s1.split("/", 2)) { // 将limit 指定为 2,因此 split 方法仅返回2个子字符串。
            System.out.println("returning words3:" + w);
        }
        System.out.println("------------------");
        int i = 1;
        for (String w : s1.split("/", -1)) { // 当limit 为负数时,它会在输出中包含尾随的空字符串。
            System.out.print(i++ + ". ");
            System.out.println(w);
        }
    }
}

运行结果:

returning words1:hello

returning words1:hi

returning words1:bye

------------------

returning words2:hello/hi/bye///

------------------

returning words3:hello

returning words3:hi/bye///

------------------

1. hello

2. hi

3. bye

4.

5.

6.

2.5 正则表达式表示分隔符

字符串中包含分隔符,通过正则表达式的形式确定分隔符,并通过分隔符将字符串分割成若干个子字符串。

在正则表达式中"\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]);
        }
    }
}

运行结果:

日abcd

gg

2.6 空格

字符串中包含空格分隔符,需要通过空格分隔符将字符串分割成若干个子字符串。

返回字符串中的所有单词,仅不包括空格。

public class Test {
    public static void main(String[] args) {
        String s1 = "java string split method";
        // String[] words = s1.split("\\s");
        String[] words = s1.split(" ");//两种方法都可以,根据空格拆分字符串
        for (String w : words) {
            System.out.println(w);
        }
    }
}

运行结果:

java

string

split

method

2.7 多个分隔符

字符串中包含多种分隔符,需要通过多种分隔符将字符串分割成若干个子字符串。

方式1.多个分隔符用引号括起来

方式2.多个分隔符用引号和中括号括起来

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

运行结果:

2021年11月18日

英语

数学

语文

2.8 大写字母拆分字符串

字符串中包含大写字母,需要通过将大写字母作为分隔符,将字符串分割成若干个子字符串。

public class Test {
    public static void main(String[] args) {
        String s = "AB#K$bb";
        String[] str = s.split("(?=\\p{Lu})");

        System.out.println("Number of substrings: " + str.length);

        for (int i = 0; i < str.length; i++) {
            System.out.println("Str[" + i + "]:" + str[i]);
        }
    }
}

运行结果:

Number of substrings: 3

Str[0]:A

Str[1]:B#

Str[2]:K$bb文章来源地址https://www.toymoban.com/news/detail-769450.html

到了这里,关于Java中split方法简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 脚踏Java知识点

    三元运算符和if语句格式的区别 语法格式: 表达式执行: 返回值: 使用场景: switch语句 switch语句的基本语法如下: switch语句的执行流程如下: 需要注意的是: 下面是一个示例,演示了如何使用 switch 语句判断星期几: 循环结构 for循环: 具体执行过程为 while循环: 具体

    2024年02月13日
    浏览(47)
  • Java 面试知识点

    基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的 语法,集合的语法,io 的语法,虚拟机方面的语法。 和都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为 true 时,整个运算结果才为 true,否

    2024年02月16日
    浏览(41)
  • 常见java知识点1

    目录 1    什么是Spring框架?Spring框架有哪些主要模块? 2    使用Spring框架有什么好处? 3    Java常用的包(列举六个) 4    Arraylist 和 Linkedlist 的区别 5    HashMap和Hashtable的区别 6    Java中常见的 io 流? 7    说一下常见的几个线程池?(Java里面有4个线程池) 8  

    2024年02月16日
    浏览(39)
  • java面试常见知识点

    JDK(Java Development Kit)是Java开发工具包,是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。 JRE是运行基于Java语言编写的程序所不可缺少的运行环境。JRE中包含了JVM,runtime class libraries和Jav

    2024年02月11日
    浏览(52)
  • Java中split方法简介

    public String[] split(String regex) public String[] split(String regex, int limit) 通过指定的分隔符将字符串分割成若干个子字符串,子字符串数组通过返回值返回。 regex : 应用于字符串的正则表达式。 limit :数组中字符串的数量限制。如果它为零,它将返回所有匹配正则表达式的字符串。 字

    2024年02月03日
    浏览(30)
  • Java面试知识点(全)- Java面试基础部分一

    Java面试知识点(全)https://nanxiang.blog.csdn.net/article/details/130640392 语法基础 封装 利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联

    2024年02月05日
    浏览(42)
  • java小知识点积累(一)

    1. jar和war包的区别? jar - 表示Java项目,不能包含html、css、jsp、servlet等; war - 表示web项目,可以包含Java项目。 2. maven三种仓库之间的联系 本地仓库:就是本地硬盘上的一个目录,用于存放从【远程仓库】或【中央仓库】下载下来的jar文件; 远程仓库:通常由公司或团队搭

    2024年02月11日
    浏览(45)
  • java基础知识点复习①

    java是一门开源的面向对象的编程语言,具有面向对象的封装、继承、多态的特点。 封装:将类的某些信息隐藏起来,只提供特定的方法来访问或修改这些隐藏信息,从而防止直接操作类中的某些属性。是通过访问权限修饰符来实现封装的,public——protected——default——pri

    2023年04月22日
    浏览(48)
  • java基础之线程知识点

    操作系统(OS)中并发(同时)执行的多个程序任务 宏观并行,微观串行 在一个时间段内,CPU会将时间段划分为若干个时间片,一个时间片是能被一个程序拥有,且只有拥有时间片的程序才能执行自身内容,所以当时间片的划分足够细小,交替频率足够快,就会形成并行的假象,时间上仍然是

    2024年02月01日
    浏览(45)
  • Java集合基础知识点复习

    主要分为两类: 第一个是Collection 属于单列集合,第二个是Map 属于双列集合在Collection中有两个子接口List和Set。在我们平常开发的过程中用的比较多像list接口中的实现类ArrarList和LinkedList。 在Set接口中有实现类HashSet和TreeSet。 在map接口中有很多的实现类,平时比较常见的是

    2024年04月08日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包