【问题标题】:Java string end with spaceJava 字符串以空格结尾
【发布时间】:2013-04-07 06:02:11
【问题描述】:

总是遇到 java 字符串的最后一个字符串符号的问题。它似乎占据了一个空间,因此如果 string[a] == string[b] 或什至有时 a.equals(b) 仍然不起作用,即使 a 和 b 看起来相同但它可能会返回不同的答案其中一个包含结束标志。 不知道哪个函数可以用于字符串的忽略功能?

【问题讨论】:

  • 你可以尝试用.trim()修剪空白
  • String#trim, String#startsWith...?
  • string[a] == string[b] 不要那样做
  • 先修剪字符串,然后使用 equals 进行比较,这里 == 不起作用
  • 你为什么用 C++ 标记这个?

标签: java string


【解决方案1】:

您只能使用stringA.equals(stringB); 删除空格使用.trim()

【讨论】:

    【解决方案2】:
    trim()  
    

    将返回您的字符串,开头和结尾不带空格。

    例如:

    String s =" test ";
    s =s.trim(); //will become "test"
    

    【讨论】:

      【解决方案3】:

      使用String.trim() 删除周围的空白,然后使用String.equals()不是==,请参阅Java 语言规范中的15.21 Equality Operators 了解完整详情。)。请记住,String 实例是不可变的,因此String.trim() 返回一个新的String,它必须在equals() 检查中使用。

      请注意,trim() 也会删除前导空格。如果不希望这样做,请使用 String.substring() 删除尾随空格。

      【讨论】:

        【解决方案4】:

        在比较之前应该总是trim() 字符串。

        【讨论】:

        • 如果比较,为什么我们应该“总是”修剪字符串?
        • 对于任何有意义的比较,这将有助于减少错误。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-29
        相关资源
        最近更新 更多