Java基础:字符串String分割方法split
在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去实现自己的功能。
- 点赞
- 收藏
- 关注作者
评论(0)