Java基础:字符串String分割方法split

举报
wljslmz 发表于 2022/12/29 10:00:27 2022/12/29
【摘要】 在Java中我们经常需要拆分字符串,拆分字符串我们经常会用split方法,本文将带大家了解一下如何使用String的split方法。 split()简述Java String split()是一个内置函数,它在遇到给定正则表达式的任何地方拆分 String 并以数组的形式返回拆分的部分。string split() 方法在给定正则表达式的匹配项周围打断给定字符串。Java String Sp...

在Java中我们经常需要拆分字符串,拆分字符串我们经常会用split方法,本文将带大家了解一下如何使用String的split方法。

split()简述

Java String split()是一个内置函数,它在遇到给定正则表达式的任何地方拆分 String 并以数组的形式返回拆分的部分。string split() 方法在给定正则表达式的匹配项周围打断给定字符串。

Java String Split() 方法的语法如下:

String[ ] split(String regExp)

Split 的返回类型是一个字符串类型的数组。

Java 中 split() 方法的两个变体:

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

下面就简单介绍一下这两个变体。

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

limit 参数可以有 3 个值:

  • limit > 0:如果是这种情况,则模式最多应用 limit-1 次,结果数组的长度不会超过 n,结果数组的最后一个条目将包含最后一个匹配模式之后的所有输入。
  • limit < 0:在这种情况下,模式将被应用尽可能多的次数,并且生成的数组可以是任意大小。
  • limit = 0:在这种情况下,模式将被应用尽可能多的次数,结果数组可以是任意大小,尾随的空字符串将被丢弃。

代码示例:

public class Test {
    public static void main(String args[])
    {
        String str = "helloJavaRoads";
        String[] arrOfStr = str.split("o", -2);
  
        for (String a : arrOfStr)
            System.out.println(a);
    }
}

该参数的返回值将是一个字符串对象数组,根据 limit 参数拆分给定的字符串。如果在执行代码时给定的正则表达式语法无效,则会发生 PatternSyntacException。

public String[] split(String regex)

split 方法的这种变体将正则表达式作为参数,并围绕此正则表达式 regex 的匹配项拆分给定的字符串,此处,默认limit为 0。

代码示例:

public class GFG {
    public static void main(String args[])
    {
        String str = "helloJavaRoads";
        String[] arrOfStr = str.split("Java");
  
        for (String a : arrOfStr)
            System.out.println(a);
    }
}

除了split方法,还可以结合Google Guava 拆分字符串。

Google Guava Splitter

Google Guava 库提供了一种非常优雅的字符串分隔方式,我们直接用代码演示:

String names = "java, spring, springboot";

List<String> nameList = Splitter.on(",")
    .trimResults()
    .omitEmptyStrings()
    .splitToList(names);

在上面的示例中,分隔符字符串首先使用on(“,”)定义。方法trimResults()确定删除元素前后的所有空白字符,而omitEmptyStrings()确定不考虑空元素,方法splitToList()结束语句并创建包含元素的列表。

总结

本文主要给大家介绍了java中分割字符串的split方法,最后还给大家介绍了另外一种分隔符Google Guava的Splitter,每种用法都有代码示例,在使用的时候大家可以仔细看官方的API去实现自己的功能。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。