[英]string.trim() in java for string containing a lot of white spaces - its length is returned as 1 instead of 0
以下代码无法按预期工作:
public int countSegments(String s) {
System.out.println(Arrays.toString(s.trim().split(" ")));
return (s.trim().split(" ")).length;
}
如果 s = " ",那么理想情况下它应该返回 0。但即使打印的数组为空,它也会返回 1。 有人可以解释一下 1 的结果如何吗? 请注意,这里的 s 包含多个空格,而不仅仅是 1 个空格。 StackOverflow 不允许输入多个空格。
如果未找到匹配项,则String
的split()
将返回new String[]{this}
。 在您的情况下, s.trim()
返回""
并且s.trim().split(" ")
返回new String[]{""}
。 new String[]{""}
是一个长度为 1 的数组。 如果你执行表达式System.out.println(s.trim().split(" ")[0].equals(""))
你会得到true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.