浅谈java中的split()方法以及常见算法

2025-04-27 0 381

一、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);
        }
    }
}

运行结果:

浅谈java中的split()方法以及常见算法

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

运行结果:

浅谈java中的split()方法以及常见算法

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

运行结果:

 浅谈java中的split()方法以及常见算法

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

 

运行结果:

浅谈java中的split()方法以及常见算法

二、经典例题

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()方法以及常见算法 

平台声明:以上文章转载于《CSDN》,文章全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,仅作参考。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/tffovever/article/details/144514729

遇见资源网 JAVA 浅谈java中的split()方法以及常见算法 http://www.ox520.com/157455.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务