章
目
录
String.split() 方法会在给定的字符串中根据匹配给定正则表达式模式的定界符进行分割,然后返回分割后的字符串数组。
正则表达式必须是一个有效的模式,如果需要的话,请记得转义特殊字符。
String str = "A-B-C-D";
String[] strArray = str.split("-"); // [A, B, C, D]
1.String.split() API
1.1. 语法
split() 方法是重载的,接受以下参数:
- regex – 分隔的正则表达式。
- limit – 控制模式应用的次数,因此影响结果数组的长度。
- 如果 limit 是正数,则模式最多会应用 limit – 1 次。结果数组的长度不会超过 limit,并且数组的最后一个条目将包含最后一个匹配的定界符之后的所有输入。
- 如果 limit 为零,则结果数组可以是任何大小。尾部的空字符串将被丢弃。
- 如果 limit 为负数,则结果数组可以是任何大小。
public String[] split(String regex);
public String[] split(String regex, int limit);
1.2. 抛出 PatternSyntaxException
请注意,如果正则表达式的语法无效,split() 方法会抛出 PatternSyntaxException 异常。在给定的示例中,”[” 是一个无效的正则表达式。
// 无效正则示例,直接抛出异常
String[] strArray = "hello world".split("[");
1.3. 不接受 ‘null’
该方法不接受 ‘null’ 参数。如果方法参数为 ‘null’,则会引发 NullPointerException 异常。因此,在使用 split() 方法时,请确保不将 ‘null’ 作为参数传递。
2.使用 Java 程序分割字符串
2.1. 使用指定的分隔符进行分割 以下的Java程序根据给定的分隔符连字符 “-” 进行字符串分割。
Split a string with delimiter hyphenString str = "how to do-in-java-provides-java-tutorials";
String[] strArray = str.split("-"); //[how to do, in, java, provides, java, tutorials]
2.2. 通过空格进行分割
以下的Java程序使用分隔符 “\s” 来根据空格进行字符串分割。要根据所有空白字符(空格、制表符等)进行分割,请使用分隔符 “\s+”。
// 根据空格分割
String str = "how to do injava";
String[] strArray = str.split("\\s"); //[how, to, to, injava]
2.3. 通过逗号进行分割
以下是一个Java程序,用于根据逗号分隔符对字符串进行分割。
// 用逗号分割
String str = "A,B,C,D";
String[] strArray = str.split(","); //[A,B,C,D]
2.4. 使用多个分隔符进行分割
以下是一个Java程序,用于使用多个分隔符进行字符串分割。在多个分隔符之间使用正则表达式 OR 运算符 ‘|’。
在给定的示例中,我使用了两个分隔符,一个连字符和一个点号。
// 使用-和.分割
String str = "www-pan-zi.ye.com";
String[] strArray = str.split("-|\\."); //[www, pan, do, zi, ye, com]
3.将字符串分割成最多 N 个令牌
该方法的这个版本也会将字符串分割,但是令牌的最大数量不能超过 limit 参数。一旦方法找到了令牌的数量,剩余的未分割字符串将作为最后一个令牌返回,即使它可能包含分隔符。
以下是一个Java程序,以这种方式按空格分割字符串,令牌的最大数量不能超过 5。
String str = "how to do in java provides java tutorials";
String[] strArray = str.split("\\s", 5);
System.out.println(strArray.length); //5
System.out.println(Arrays.toString(strArray)); //[how, to, do, in, java provides java tutorials]
总结
这个Java字符串教程教会了我们如何使用 Spring.split() API 的语法和用法,并提供了易于理解的示例。我们学会了使用不同的分隔符来分割字符串,如逗号、连字符,甚至在一个字符串中使用多个分隔符。