Java String.trim() 将删除多少个空格?

2022-08-31 09:08:56

在Java中,我有一个这样的字符串:

"     content     ".

会删除这些边上的所有空格还是每个边上的一个空格?String.trim()


答案 1

所有的人

Returns:此字符串的副本,其中删除了前导和尾随空格,或者如果此字符串没有前导或尾随空格,则返回此字符串。

~ 引自 Java 1.5.0 文档

(但你为什么不亲自尝试一下呢?


答案 2

从源代码(反编译):

  public String trim()
  {
    int i = this.count;
    int j = 0;
    int k = this.offset;
    char[] arrayOfChar = this.value;
    while ((j < i) && (arrayOfChar[(k + j)] <= ' '))
      ++j;
    while ((j < i) && (arrayOfChar[(k + i - 1)] <= ' '))
      --i;
    return (((j > 0) || (i < this.count)) ? substring(j, i) : this);
  }

您可以看到的两个表示其 unicode 位于空格字符(开头和结尾)下方的所有字符都将被删除。while