Java如何忽略空格時比較字符串
瀏覽人數:844最近更新:
- java
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));
本作品係原創或者翻譯,採用《署名-非商業性使用-禁止演繹4.0國際》許可協議