str.split("that").length 不计算 'that's 的数量。它计算在它们之间有“那个”的单词的数量
例如-
class test
{
public static void main(String args[])
{
String s="Hi?bye?hello?goodDay";
System.out.println(s.split("?").length);
}
}
这将返回 4,即用“?”分隔的单词数。如果返回length-1,在这种情况下,它将返回3,这是问号数的正确计数。
但是,如果字符串是:“Hi????bye????hello?goodDay??”; ?
即使在这种情况下, str.split("?").length-1 也会返回 3,这是问号数的错误计数。
str.split("that //or anything")的实际功能是创建一个字符串数组,其中所有这些字符/单词都由 'that' 分隔(在这种情况下)。split() 函数返回一个字符串数组
所以,上面的 str.split("?") 实际上会返回一个字符串数组: {"Hi,bye,hello,goodDay"}
str.split("?").length 只返回数组的长度,其中 str 中的所有单词都用 '?' 分隔 .
str.split("that").length 只返回数组的长度,其中 str 中的所有单词都由 'that' 分隔。
这是我解决问题链接的链接
如果您有任何疑问,请告诉我。