这个 字符串拆分() 方法在给定正则表达式的匹配项周围打断给定字符串。根据给定的正则表达式进行拆分后,此方法返回一个char数组。 例子:
Input String: 016-78967Regular Expression: - Output : {"016", "78967"}
以下是Java中split()方法的两个变体:
1.公共字符串[]拆分(字符串正则表达式,整数限制)
参数:
- regex–一个定界正则表达式
- Limit–结果阈值
返回: 字符串数组是通过分割给定的字符串来计算的。
抛出: 模式语法异常 –如果提供的正则表达式的语法无效。
极限参数可以有3个值:
- 限值>0– 如果是这种情况,那么该模式最多应用limit-1次,结果数组的长度将不超过n,结果数组的最后一个条目将包含最后一个匹配模式之外的所有输入。
- 限值<0- 在这种情况下,将尽可能多次地应用该模式,并且生成的数组可以是任意大小的。
- 极限=0– 在这种情况下,将尽可能多次地应用该模式,生成的数组可以是任意大小的,并且将丢弃尾随的空字符串。
下面是它的工作原理: 让要拆分的字符串为—— geekss@for@极客
正则表达式 | 限度 | 后果 |
---|---|---|
@ | 2. | {“极客”for@geekss”} |
@ | 5. | {“geekss”,“for”,“geekss”} |
@ | -2 | {“geekss”,“for”,“geekss”} |
s | 5. | {“极客”@for@geek”, “”, “”} |
s | -2 | {“极客”,“极客”,“极客”@for@geek”, “”, “”} |
s | 0 | {“极客”@for@geek”} |
下面是演示split()工作原理的Java示例代码 例1:
JAVA
// Java program to demonstrate working of split(regex, // limit) with small limit. public class GFG { public static void main(String args[]) { String str = "geekss@for@geekss" ; String[] arrOfStr = str.split( "@" , 2 ); for (String a : arrOfStr) System.out.println(a); } } |
geekssfor@geekss
例2:
JAVA
// Java program to demonstrate working of split(regex, // limit) with high limit. public class GFG { public static void main(String args[]) { String str = "geekss@for@geekss" ; String[] arrOfStr = str.split( "@" , 5 ); for (String a : arrOfStr) System.out.println(a); } } |
geekssforgeekss
例3:
JAVA
// Java program to demonstrate working of split(regex, // limit) with negative limit. public class GFG { public static void main(String args[]) { String str = "geekss@for@geekss" ; String[] arrOfStr = str.split( "@" , - 2 ); for (String a : arrOfStr) System.out.println(a); } } |
geekssforgeekss
例4:
JAVA
// Java program to demonstrate working of split(regex, // limit) with high limit. public class GFG { public static void main(String args[]) { String str = "geekss@for@geekss" ; String[] arrOfStr = str.split( "s" , 5 ); for (String a : arrOfStr) System.out.println(a); } } |
geek@for@geek
例5:
JAVA
// Java program to demonstrate working of split(regex, // limit) with negative limit. public class GFG { public static void main(String args[]) { String str = "geekss@for@geekss" ; String[] arrOfStr = str.split( "s" , - 2 ); for (String a : arrOfStr) System.out.println(a); } } |
geek@for@geek
例6:
JAVA
// Java program to demonstrate working of split(regex, // limit) with 0 limit. public class GFG { public static void main(String args[]) { String str = "geekss@for@geekss" ; String[] arrOfStr = str.split( "s" , 0 ); for (String a : arrOfStr) System.out.println(a); } } |
geek@for@geek
2.公共字符串[]拆分(字符串正则表达式)
split方法的这种变体将正则表达式作为参数,并在与正则表达式regex的匹配项周围打断给定字符串。这里,默认限制为0。
参数: 正则表达式 –定界正则表达式
返回: 字符串数组是通过分割给定的字符串来计算的。
抛出: 模式语法异常 –如果提供的正则表达式的语法无效。
以下是一些工作示例代码: 例1:
JAVA
// Java program to demonstrate working of split() public class GFG { public static void main(String args[]) { String str = "GeeksforGeeks:A Computer Science Portal" ; String[] arrOfStr = str.split( ":" ); for (String a : arrOfStr) System.out.println(a); } } |
GeeksforGeeksA Computer Science Portal
例2:
JAVA
// Java program to demonstrate working of split() public class GFG { public static void main(String args[]) { String str = "GeeksforGeeksforStudents" ; String[] arrOfStr = str.split( "for" ); for (String a : arrOfStr) System.out.println(a); } } |
GeeksGeeksStudents
在上面的示例中可以看到,模式/正则表达式“for”应用了两次(因为“for”在要拆分的字符串中出现了两次) 例3:
JAVA
// Java program to demonstrate working of split() public class GFG { public static void main(String args[]) { String str = "Geeks for Geeks" ; String[] arrOfStr = str.split( " " ); for (String a : arrOfStr) System.out.println(a); } } |
GeeksforGeeks
例4:
JAVA
// Java program to demonstrate working of split() public class GFG { public static void main(String args[]) { String str = "Geekssss" ; String[] arrOfStr = str.split( "s" ); for (String a : arrOfStr) System.out.println(a); } } |
Geek
在上面的示例中,结果数组arrOfStr中不包括尾随的空字符串。 例5:
JAVA
// Java program to demonstrate working of split() public class GFG { public static void main(String args[]) { String str = "GeeksforforGeeksfor " ; String[] arrOfStr = str.split( "for" ); for (String a : arrOfStr) System.out.println(a); } } |
GeeksGeeks
在上面的示例中,尾随空格(因此不是空字符串)成为结果数组arrOfStr中的字符串。 例6:
JAVA
// Java program to demonstrate working of split() // using regular expressions public class GFG { public static void main(String args[]) { String str = "word1, word2 word3@word4?word5.word6" ; String[] arrOfStr = str.split( "[, ?.@]+" ); for (String a : arrOfStr) System.out.println(a); } } |
word1word2word3word4word5word6
在上面的示例中,每当遇到集合中指定的任一字符时,单词都会被分隔。
本文由 瓦伊巴夫·巴杰帕伊 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论。