Java如何忽略空格時比較字符串
瀏覽人數:904最近更新:
- 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國際》許可協議
最新文章
Hibernate 中的 TupleTransformer 和 ResultListTransformer使用 Spring Boot 建置有狀態自訂 Bean 驗證在 JUnit 5 中所有類別的所有測試之前執行程式碼使用 Jersey 和 Jackson 自訂 ObjectMapperSpring Boot 4 與 Spring Framework 7 – 新功能Hibernate 中的 PartitionKey:Spring Boot 實用指南Java 周刊,第 611 期在 Java 中處理「非值」雙精度在 Java 中逐行讀取 StringBuilder如何使用 Selenium 取得 JSON 回應