org.apache.commons.lang.StringUtils 是 Java 開發中極為實用的字串處理工具類,它補充了 JDK 標準 String 類缺失的許多高頻功能。本文整理了開發中最常用的方法,並附上代碼示例與輸出結果,方便快速查閱。
isBlank / isNotBlank判斷字串是否為 null、空字串 "" 或僅包含空白字符。
StringUtils.isBlank("a"); // false
StringUtils.isBlank(" "); // true
StringUtils.isBlank(null); // true
StringUtils.isNotBlank("abc"); // true
abbreviate將過長字串截斷並加上省略號 ...,最小寬度為 4(含省略號)。
StringUtils.abbreviate("abcdefg", 20); // "abcdefg"
StringUtils.abbreviate("abcdefg", 4); // "a..."
capitalize / uncapitalizeStringUtils.capitalize("abcdefg"); // "Abcdefg"
StringUtils.uncapitalize("Abcdefg"); // "abcdefg"
center、leftPad、rightPad可指定填充字符,預設為空格。
StringUtils.center("abcdefg", 20); // " abcdefg "
StringUtils.center("abcdefg", 20, "*_"); // "*_*_*_abcdefg*_*_*_*"
StringUtils.leftPad("abc", 10, "*"); // "*******abc"
StringUtils.rightPad("abc", 10, "*"); // "abc*******"
repeatStringUtils.repeat("abc", 5); // "abcabcabcabcabc"
isAllUpperCase / isAllLowerCaseStringUtils.isAllLowerCase("abC"); // false
StringUtils.isAllUpperCase("ABC"); // true
isAlpha、isNumeric、isAlphanumeric 等系列方法可驗證是否純字母、純數字、字母數字混合、含空格等。
StringUtils.isAlpha("a2bdefg"); // false
StringUtils.isAlphanumeric("abc123"); // true
StringUtils.isNumeric("12345"); // true
countMatchesStringUtils.countMatches("ababsssababa", "ab"); // 4
reverseStringUtils.reverse("abcdef"); // "fedcba"
swapCase空格與非字母字符保持不變。
StringUtils.swapCase("I am a-A*a"); // "i AM A-a*A"
掌握這些方法能大幅減少手寫字串處理邏輯的錯誤,提升代碼可讀性與健壯性。建議專案中統一引入 commons-lang3 依賴。