Java中的Split()字符串方法及其示例

这个 字符串拆分() 方法在给定正则表达式的匹配项周围打断给定字符串。根据给定的正则表达式进行拆分后,此方法返回一个char数组。 例子:

null
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主页上,并帮助其他极客。如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享