我的问题是为什么要使用以下程序:
// 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);
}
}
将字符串
"geekss@for@geekss"
分为5个子字符串:{"geek", "", "@for@geek", "", ""}
。根据我的看法,应该有4个子字符串:{"geek", "","@for@geek", ""}
。有人可以澄清我的疑问吗? 最佳答案
如果您仔细看一下文档:
因此,您得到的数组包含两件事:
s
(斜体)前四个元素之所以获得
{"geek", "", "@for@geek", ""}
的原因是,它们后面跟着s
。您得到的最后一个""
是匹配每个s
后剩下的内容。请注意,您传递的
limit
的5
参数也是相关的。根据文档:因此,最后匹配的定界符是最后的
s
。之后,仍然有一个空字符串尚未检查。关于java - split()方法如何在Java中工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46630316/