CodeGym /Java 博客 /随机的 /Java String 修剪()方法
John Squirrels
第 41 级
San Francisco

Java String 修剪()方法

已在 随机的 群组中发布
即使这两个字符串对您来说看起来相同,但它们也可能不同。例如,它们可能具有前导空格和尾随空格。计算机“看到”它,但我们看不到。Java 有一个特殊的trim()方法来删​​除字符串中尾随和前导的空格。在本文中,我们将解释如何在Java程序中 使用Java字符串trim()方法并提供一些代码示例。

Java String Trim() 方法签名

Java中trim()方法的签名如下:
public String trim()
正如您所看到的,它不带任何参数并返回一个字符串值。它返回原始字符串的副本,但删除了所有前导和尾随空格。重要提示:空格是 ascii 代码小于或等于“U + 0020”的任何字符。如果我们的String是一个空字符序列,或者此String对象表示的字符序列的第一个和最后一个字符具有非空白代码(如上面所定义),则返回对此String对象的引用。好吧,如果字符串中的所有字符都是空格,则返回一个表示空字符串的String对象。如果行的开头和结尾没有空格,该方法将返回该行本身不变。

Java String Trim() 方法示例

让我们有两个字符串,在其文本的开头和结尾处有和没有一些空格。两个字符串的文本相同。
public class TrimDemo {
   public static void main(String[] args) {
//java string trim() method example

       String noSpacesString = "I am the Walrus";
       String withSpaceString = "    I am the Walrus ";

       //printing the both strings out to make sure they are different
       System.out.println(noSpacesString);
       System.out.println(withSpaceString);
       //let's print out two string comparisons. It's false
       //because they are different
       System.out.println(noSpacesString.equals(withSpaceString));
       //trim
       withSpaceString.trim();
       System.out.println(noSpacesString.equals(withSpaceString));
       System.out.println(noSpacesString);
       System.out.println(withSpaceString);
   }
}
输出是:
我是海象 我是海象 假假 我是海象 我是海象
等等,什么??看来Java字符串trim()方法不起作用!前两个字符串是不同的,因为它们应该是不同的(第一个字符串没有边距,第二个字符串前面有三个空格,文本后面有一个空格)。然后我们比较这两行并打印结果。这显然是错误的,因为这些线是不同的。之后,我们对边缘有空格的字符串应用修剪方法,并再次比较字符串……由于某种原因,我们再次得到错误,尽管现在它们应该是相同的!然后,为了以防万一,我们决定自己打印这些行,如果奇迹发生怎么办?唉……线条有所不同,但仍然存在。你已经猜到问题是什么了吗?重点是 Java 中的字符串是不可变的对象。所以trim()方法返回的不是原始字符串,而是一个新字符串。无论如何,我们应该在这里测试trim()方法,所以让我们编写另一个程序。在这里,我们将命名要使用的trim()方法所创建的字符串的副本。我们还检查两个字符串是否相等。
public class TrimDemo2 {
   public static void main(String[] args) {
       String noSpacesString = "I am the Walrus";
       String withSpaceString = "    I am the Walrus ";
       String result = withSpaceString.trim();
       System.out.println(noSpacesString);
       System.out.println(result);
       System.out.println(noSpacesString.equals(result));
   }
}
这是输出:
我是海象 我是海象 真的
答对了!现在它按照我们的预期工作了。请记住字符串不变性,它对于每个 Java 开发人员都非常重要。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION