StringUtils工具類常用方法


這么多記是記不住了,保存起來,一邊工作一邊看, 熟能生巧。

isEmpty(String str) 是否為空,空格字符為false

isNotEmpty(String str) 是否為非空,空格字符為true

isBlank(String str) 是否為空,空格字符為true

isNotBlank(String str) 是否為非空,空格字符為false

trim(String str)去除字符串兩端的控制符,空字符串、null 返回 null

trimToEmpty(String str) 去除字符串兩端的控制符,空字符串、null 返回""

stripToNull(String str) 去除字符串兩端的空白符,空字符串、null 返回null

stripToEmpty(String str) 去除字符串兩端的空白符,空字符串、null 返回""

strip(String str, String stripChars) 去掉str兩端的在stripChars中的字符

StringUtils.strip("000000134_76539000","0")="134_76539"

stripStart (String str,String stripChars) 去除str 前端在stripChars中的字符

stripEnd (String str,String stripChars) 去除str 后端在stripChars中的字符

equals(String str1,String str2) 比較兩個字符串是否相等,如果兩個均為空則認為相等

indexOf(String str,char searchChar) 返回searchChar 在字符串中第一次出現的位置,如果沒找到則返回 -1,如果str 為null 或者 "",也返回-1

indexOf(String str,char searchChar,int startPos) 返回字符searchChar從startPos開始在字符串str中第一次出現的位置。

contains(String str,char searchChar) str中是否包含字符searchChar,str為null 或者 searchChar為null,返回false 。

StringUtils.contains("", "") = true

StringUtils.contains("dfg", "") = true

containsIgnoreCase(String str,String searchStr) str中是否包含字符searchChar,不區分大小寫

int indexOfAny(String str, char[] searchChars) 找出字符數組searchChars中的字符第一次出現在字符串str中的位置。 如果字符數組中的字符都不在字符串中,則返回-1 ,如果字符串為null或"",則返回-1

subString(String str,int start) 從start 開始,包含start 那個字符,得到字符串str 的子串,如果start為負數,則從后面開始數起。如果str 為null 或者 "" 則返回其本身

subStringBefore(String str,String separator) 得到字符串separator第一次出現前的子串。不包含那個字符,如果str 為null 或者 "" 則返回其本身。

subStringAfter(String str,String separator) 得到字符串separator第一次出現后的子串,不包含那個字符,如果 str 為null,或者"",則返回其本身

subString(String str,int start,int end) 同上

left(String str,int len) 得到字符串str從左邊數len長度的子串,如果str 為null 或者 "",則返回其本身,如果len小於0,則返回""

right(String str,int len)得到字符串str從右邊數len長度的子串

mid(String str,int pos,int len) 得到字符串str從pos開始len長度的子串,pos小於0,則設為0。

split(String str) 把字符串拆分成一個字符串數組,用空白符 作為分隔符,字符串為null 返回null,字符串為"",返回空數組{}

split(String str,char c) 按照 char c 拆分字符串

join(Object[] arrey)把數組中的元素連接成一個字符串返回

join(Object[] arrey,char c) 把數組中的元素拼接成一個字符串返回,把分隔符 c 也帶上

deleteWhitespace(String str) 刪除字符串中的所有空白符,包括轉義字符

removeStart(String str,String remove) 如果字符串str是以remove開始,則去掉這個開始,然后返回,否則返回原來的串

removeEnd(String str,String remove) 如果字符串str是以字符串remove結尾,則去掉這個結尾,然后返回,否則返回原來的串。

remove(String str,char remove) 去掉字符串str中所有包含remove的部分,然后返回

replace(String str,String reql,String with) 在字符串text中用with代替repl,替換所有

overlay(String str,String new,int start,int end) 用字符串new 覆蓋字符串str從start 到 end 之間的串

chop(String str) 去掉字符串的最后一個字符,比如/r/n

repeat(String str,int repart) 重復字符串repeat次

rightPad(String str,int size,String padStr) size長度的字符串,如果不夠用padStr補齊

leftPad(String str,int size,String padStr)同上

center(String str,int size)產生一個字符串,長度等於size,str位於新串的中心

swapCase(String str) 字符串中的大寫轉小寫,小寫轉換為大寫

replaceChars(String str,char old,char new) 在字符串中 new 字符代替 old 字符

replaceChars(String str, String searchChars, String replaceChars) 這個有點特別,先看下面三個例子

StringUtils.replaceChars("asssdf","s","yyy")) = "ayyydf"

StringUtils.replaceChars("asdf","sd","y")) = "ayf"

StringUtils.replaceChars("assssddddf","sd","y"))= "ayyyyf"

解釋:為什么會出現上面這樣的結果呢?原來這個置換規則是這樣的,他是拿searchChars的index,去replaceChars找相應的index然后替換掉,怎么說呢?比如說第一個例子 s 的index 是0,找到yyy相對應的index為0的字符是y。第二個例子 's' 的index是0,'d'的index是1, 字符's' 可以找到對應index為0的 'y',d就找不到index為'1'的的字符了,所以就直接過濾掉了

 

文章來自易水蝸牛


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM