java中split()方法以及常见算法经典案例

 更新时间:2025年04月23日 10:09:12   作者:偏右右  
这篇文章主要介绍了java中split()方法以及常见算法的相关资料,split()方法可以根据指定的正则表达式将字符串分割成多个子字符串,并返回一个字符串数组,文中通过代码介绍的非常详细,需要的朋友可以参考下

一、split()

1.定义

Java中split()方法可以根据指定的正则表达式将字符串分割成多个子字符串,并将结果以字符串数组的方式返回。

2.分割符种类

分割符可以是数字,任意字符,字符串,符号等。

3.重载的方法以及含义

String[] split(String regex)返回被regex分割后的字符串数组
Stirng[] split(Stirng regex,int limit)返回被regex分割后的,数组长度为limit的字符串数组

4.注意事项

a.空字符串

如果是" ",空格字符串,那输出结果将会以空格分割符分割;

如果是""空字符串,输出结果将会是单个字符的形式输出为字符串数组,长度为str.length();

public class SplitTest {
    public static void main(String []args) {
        String str="abcdef ghi";
        String[] list=str.split(" ");
        for (String s:list
             ) {
            System.out.println(s);
        }
        String[] list1=str.split("");
        for (String s:list1
        ) {
            System.out.println(s);
        }
    }
}

运行结果:

b.连续分隔符

如果字符串中有连续的分割字符,那么结果数组中将出现空字符串。(注意区分空字符串,空格字符串);

public class SplitTest {
    public static void main(String []args) {
        String str="abcdef,,ghi";
        String[] list=str.split(",");
        for (String s:list
             ) {
            System.out.println(s);
        }
    }
}

运行结果:

c.转义字符

在正则表达式中,有些字符具有特殊含义,例如:

'.', '*', '?', '^', '$', '(', '[', '{', '|', '\', '/'等。

如果需要这些字符作为普通字符进行分割,则需要进行转义;

public class SplitTest {
    public static void main(String []args) {
        String str="abc.def.ghi";
        String[] list=str.split("\\.");
        for (String s:list
             ) {
            System.out.println(s);
        }
    }
}

运行结果:

5.代码演示

public class SplitTest {
    public static void main(String []args) {
        String str="2024-3-6";
        //双引号而非单引号,参数是字符串类型,不能大意认为"-"是单个字符。
        String[] list=str.split("-");
        for(String s:list){
            System.out.println(s);
        }
        //有限字符串数组长度的重载split();
        String[] list1=str.split("-",4);//虽然为4,但是最多分割两次
        for(String s:list1){
            System.out.println(s);
        }
        //多个分割字符的情况
        String str2="abcd.efg|hijk.mno";
        String[] list2=str2.split("\\.|\\|");
        for (String s:list2
        ) {
            System.out.println(s);
        }
    }
}

运行结果:

二、经典例题

1.问题描述

用户输入“2024-8-9”,程序返回"2024-08-09".

2.思路

1.先用split()方法将字符串分割为字符串数组;

2.遍历数组,用stringbuilder存储,当存储到下一个字符时进行判断,如果字符长度为1,则拼接0,然后再拼接"-",如果不为一,则直接拼接"-".

import java.util.Scanner;

public class SplitTest {
    public static void main(String []args) {
        Scanner input=new Scanner(System.in);
        //创建stringbuilder字符串来存储动态结果;
        StringBuilder stringBuilder=new StringBuilder();
        String str=input.next();
        //使用split()方法分割字符串
        String[] list=str.split("-");
        for (int i = 0; i <list.length ; i++) {
            //如果长度为1,则拼接字符串;
            if (list[i].length()==1){
                stringBuilder.append("0");
                stringBuilder.append(list[i]);
            }else {
                stringBuilder.append(list[i]);
            }
            //除了最后一个字符串,拼接"-";
            if(i!=list.length-1){
                stringBuilder.append("-");
            }
        }
        //打印结果
        System.out.println(stringBuilder);
    }
}

3.运行结果

总结 

到此这篇关于java中split()方法以及常见算法的文章就介绍到这了,更多相关java中split()方法常见算法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Boot集成springfox-swagger2构建restful API的方法教程

    Spring Boot集成springfox-swagger2构建restful API的方法教程

    这篇文章主要给大家介绍了关于Spring Boot集成springfox-swagger2构建restful API的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • 浅谈Java线程Thread.join方法解析

    浅谈Java线程Thread.join方法解析

    本篇文章主要介绍了浅谈Java线程Thread.join方法解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • 通过Java设置Word页面背景色过程详解

    通过Java设置Word页面背景色过程详解

    这篇文章主要介绍了通过Java设置Word页面背景色过程详解,Word中可以针对不同文档排版设计要求来设置背景设置颜色。常见的可设置单一颜色、渐变色或加载图片来设置成背景。下面通过Java来设置以上3种Word页面背景色,需要的朋友可以参考下
    2019-07-07
  • Java日常练习题,每天进步一点点(40)

    Java日常练习题,每天进步一点点(40)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07
  • 图解JAVA中Spring Aop作用

    图解JAVA中Spring Aop作用

    这篇文章主要介绍了Java的Spring框架下的AOP的作用,需要的朋友可以参考
    2017-04-04
  • Android仿微信实现左滑显示删除按钮功能

    Android仿微信实现左滑显示删除按钮功能

    这篇文章主要为大家详细介绍了java仿微信实现左滑显示删除按钮功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Java移动文件夹及其所有子文件与子文件夹

    Java移动文件夹及其所有子文件与子文件夹

    这篇文章主要为大家详细介绍了Java移动文件夹及其所有子文件与子文件夹的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Java中静态代码块、构造代码块、构造函数和普通代码块的区别

    Java中静态代码块、构造代码块、构造函数和普通代码块的区别

    在Java中,静态代码块、构造代码块、构造函数、普通代码块的执行顺序是一个笔试的考点,通过这篇文章希望大家能彻底了解它们之间的执行顺序,需要的朋友可以参考下
    2023-05-05
  • Java操作Mongodb数据库实现数据的增删查改功能示例

    Java操作Mongodb数据库实现数据的增删查改功能示例

    这篇文章主要介绍了Java操作Mongodb数据库实现数据的增删查改功能,结合完整实例形式分析了java针对MongoDB数据库的连接、增删改查等相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • Springboot 实现Server-Sent Events的项目实践

    Springboot 实现Server-Sent Events的项目实践

    本文介绍了在Spring Boot中实现Server-Sent Events(SSE),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12

最新评论