Jakarta Commons Cookbook讀書筆記系列
1.10 對(duì)null安全的(null-safe)字符串操作org.apache.commons.lang.StringUtils
解釋幾個(gè)該包內(nèi)約定術(shù)語
# 空字符串(empty) - 長(zhǎng)度為零的字符串 ("")
# 空格(space) - 空格字符(' ', char 32)
# 空白(whitespace) - 符合Character.isWhitespace(char)的字符
# 修剪字符(trim) - ASCII碼表中取值小于32的字符,等同String.trim()清除的字符
1.10.1 判斷空字符串,空格及null
isEmpty()判斷是否為空字符串或null
isNotEmpty()==!isEmpty()
isBlank()判斷是否為空格,空字符串或null
isNotBlank()==!isBlank()
1.10.2 修剪字符串
trim()加入null判斷的String.trim()
strip()修剪string前后的空白,或指定字符串
1.10.3 縮減字符串
abbreviate()可以按照目標(biāo)長(zhǎng)度縮減字符串,若小于目標(biāo)長(zhǎng)度,最后三位字符以"..."代替
StringUtils.abbreviate("How to abbreviate a string?",9) -> How to
1.10.4 清除回車符(\r)和換行符(\n)
chomp()
1.10.5 反轉(zhuǎn)字符串和反轉(zhuǎn)句子的單詞順序
reverse()
StringUtils.reverse("I'm heis") ->sieh m'I
StringUtils.reverseSentence("I'm heis") ->heis I'm
1.10.6 檢測(cè)字符串內(nèi)容
isNumeric()判斷是否只包含0-9
isAlpha()判斷是否只包含字母
isAlphanumeric()判斷是否只包含字母和數(shù)字的組合
isAlphaSpace()判斷是否只包含空格和字母
1.10.7 檢測(cè)字符串出現(xiàn)頻率
countMatches()
1.10.8 substring變種形式
StringUtils.substringBetween("[hello,heis]","[","]") ->hello,heis
substringBefore()捕獲指定字符串之前的內(nèi)容
substringAfter()捕獲指定字符串之后的內(nèi)容
substringBeforeLast()捕獲指定字符串最后出現(xiàn)處之前的內(nèi)容
substringAfterLast()捕獲指定字符串最后出現(xiàn)處之后的內(nèi)容
1.10.9 計(jì)算字符串的差別
difference(str1,str2)輸出第二個(gè)字符串與第一個(gè)相差的字符串
StringUtils.difference("word","world") ->ld
indexOfDifference(str1,str2)輸出兩個(gè)字符串相差的下標(biāo)
StringUtils.indexOfDifference("word","world") ->3
getLevenshteinDistance(str1,str2)輸出兩個(gè)字符編輯距離,即一個(gè)字符串要轉(zhuǎn)換到另一個(gè)字符串需要插入,刪除和替換的字符的次數(shù)。
StringUtils.getLevenshteinDistance("steve","stereo") ->2
StringUtils.getLevenshteinDistance("heis","hello") ->3
1.10.10 StringUtils提供了null-safe的indexOf(),subString(),replace()等,這些方法功能與java.lang.String內(nèi)方法一致。
Jakarta Commons Cookbook讀書筆記系列
程序員的一生其實(shí)可短暫了,這電腦一開一關(guān),一天過去了,嚎;電腦一開不關(guān),那就成服務(wù)器了,嚎……