拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 Java如何忽略空格时比较字符串

Java如何忽略空格时比较字符串

白鹭 - 2021-11-20 2552 0 2

1. 概述

在这个简短的教程中,我们将看到如何在忽略 Java 中的空格的情况下比较字符串。

2. 使用replaceAll()方法

假设我们有两个字符串——一个包含空格,另一个只包含非空格字符:

String normalString = "ABCDEF";
String stringWithSpaces = " AB CD EF ";

String类replaceAll()方法在忽略空格的情况下简单地比较它们:

assertEquals(normalString.replaceAll("\\s+",""), stringWithSpaces.replaceAll("\\s+",""));

使用上面的replaceAll()方法将删除字符串中的所有空格,包括不可见的字符,如制表符、\n 等。

除了\s+,我们还可以使用\s。

3.使用Spring框架StringUtils

最后,如果我们的项目已经在使用 Spring Framework,我们可以使用org.springframework.util包中StringUtils类。


这次使用的方法是trimAllWhitespace() :

assertEquals(StringUtils.trimAllWhitespace(normalString), StringUtils.trimAllWhitespace(stringWithSpaces));

我们应该记住,如果我们想比较空格有含义的字符串,比如人名,我们不应该使用本文中的方法。例如,以下两个字符串将被视为相等:“JACKIE CHAN”和“JAC KIE CHAN”,这可能不是我们真正想要的。

4. 使用 Apache Commons Lang

接下來,我们可以使用StringUtils类来实现相同的目标。


该类有一个方法deleteWhitespace() ,用于删除String所有空格

assertEquals(StringUtils.deleteWhitespace(normalString), StringUtils.deleteWhitespace(stringWithSpaces));


标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *