StringUtils常用方法--個人總結
包:org.apache.commons.lang.StringUtils
maven: <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.1</version>
</dependency>
1. 檢查字串是否為空
StringUtils.isBlank(string);當string為空、長度為零、僅由空白字元(whitespace)組成時,返回True;否則返回False
String test = ""; // true
String test2 = "\n\n\t"; // true
String test3 = null; // true
String test4 = "Test"; // false
2. 部分擷取字串
StringUtils.substringBetween(testString,fromString,toString ) 取得兩字元之間的字串
StringUtils.substringAfter
StringUtils.substringBefore( ) 取得指定字串之前的字串
StringUtils.substringBeforeLast( ) 取得最後一個指定字串之前的字串
StringUtils.substringAfterLast( ) 取得最後一個指定字串之後的字串
String test = " 25 * (30,40) [50,60] | 30"; StringUtils.substringBeforeLast( test, "*" ); // 25 StringUtils.substringBetween( test, "(" , "," ); // 30 StringUtils.substringBetween( test, "," , ")" ); // 40 StringUtils.substringBetween( test, "[" , "," ); // 50 StringUtils.substringBetween( test, "," , "]" ); // 40) [50,60 StringUtils.substringAfterLast( test, "|" ); // 30
3. 分割成陣列
StringUtils.split(a,"b") 用b來把a字串分割成陣列,如果split(a, "." ),就會分割失敗,因為引數"b"是正則表示式,而不是普通字串,而"."在正則表示式中表示匹配所有單個字元,因此,要用轉義字元split(a, "\\." )
String a = "A b,c.d|e";
String[] array1 = StringUtils.split( a, " ,.|");
ArrayUtils.toString(a); // {A,b,c,d,e}
4. 縮排字串
StringUtils.abbreviate(String str, int maxWidth) 縮排字串,第二個引數至少為4(包括...)
StringUtils.abbreviate("abcdefg", 20); // abcdefg
StringUtils.abbreviate("abcdefg", 4); // a...
5. 顛倒字串
StringUtils.reverse(String);得到String顛倒後的字串
StringUtils.reverse("ABCDE"); // EDCBA
6. 取得某字串在另一字串中出現的次數
StringUtils.countMatches(a, b);取得b在a中出現的次數,未發現則返回零
StringUtils.countMatches( "Chinese People", "e"); // 4
7. 判斷字串內容的型別
StringUtils.isNumeric( a ) :如果a全由數字組成返回True
StringUtils.isAlpha( a ) :如果a全由字母組成返回True
StringUtils.isAlphanumeric( a ) :如果a全由數字或數字組成返回True
StringUtils.isAlphaspace( a ) :如果a全由字母或空格組成返回True
String a = "Virginia";
StringUtils.isNumeric(a); // false
StringUtils.isAlpha(a); // true
StringUtils.isAlphanumeric(a); // true
StringUtils.isAlphaSpace(a); // true
8. 在左邊補全字串
StringUtils.leftPad(a, num, b ); 在字串a的左邊用字串b補足到num位
StringUtils.leftPad("123", 5, "9"); // 99123
StringUtils.leftPad("7", 3, "0"); // 007
9. 去掉字串中的空格
StringUtils.deleteWhitespace(string a);
String newInfo = StringUtils.deleteWhitespace(info);