1、空字符串檢查
public static boolean isEmpty(String str);
public static boolean isNotEmpty(String str);
1
2
上面兩個方法是判斷字符串是否為”“或者null。
public static boolean isBlank(String str);
public static boolean isNotBlank(String str);
1
2
這兩個方法可以判斷空字符串如” “同時也可以判斷是否為”“或者null
2、清除空白字符
StringUtils.trimToNull(str);
函數介紹:清除掉str首尾的空白字符,如果僅str全由空白字符組成則返回null。
注意:函數StringUtils.trim(str)與
StringUtils.trimToNull(str)功能類似,但str由空白字符
組成時返回零長度字符串。
3、查找嵌套字符串
StringUtils.substringBetween(str,header,tail);
在str中取得header和tail之間的字符串。不存在則返回空.
4、取得字符串的縮寫
StringUtils.abbreviate(str,width);
StringUtils.abbreviate(str,offset,width);
在給定的width內取得str的縮寫,當testString的長度小於width則返回原字符串.
注意:width參數至少為4(包括…)
String test = "This is a test of the abbreviation.";
String test2 = "Test";
System.out.println( StringUtils.abbreviate( test, 15 ) );
System.out.println( StringUtils.abbreviate( test, 5,15 ) );
System.out.println( StringUtils.abbreviate( test2, 10 ) );
1
2
3
4
5
輸出如下:
This is a te…
…is a test…
Test
5、去除尾部換行符
StringUtils.chomp(str)
去除str尾部的換行符\\n
6、重複字符串
StringUtils.repeat(str,count)
得到將str重複count次後的字符串
System.out.println( StringUtils.repeat( "*", 10));
System.out.println( StringUtils.repeat( "China ", 5));
1
2
輸出如下:
**********
China China China China China
StringUtils.center( str, count,repeatString );
把str插入將repeatString重複多次後的字符串中間,得到字符串
的總長為count
System.out.println( StringUtils.center( "China", 11,"*"));
1
輸出如下:
***China***
static String center(String str, int size);
默認以空格填充
public static String leftPad(String str,int size);
左側空格填充
public static String leftPad(String str,int size,String padStr);
左側字符串填充
public static String rightPad(String str,int size);
左側空格填充
public static String rightPad(String str,int size,String padStr)
左側字符串填充
7、顛倒字符串
StringUtils.reverse(str)
得到str中字符顛倒後的字符串
System.out.println( StringUtils.reverse("ABCDE"));
1
輸出如下:
EDCBA
8、判斷字符串內容的類型
StringUtils.isNumeric( str);
如果str全由數字組成返回True.
StringUtils.isAlpha( str);
如果str全由字母組成返回True.
StringUtils.isAlphanumeric( str);
如果str全由數字或數字組成返回True.
StringUtils.isAlphaspace( str);
如果str全由字母或空格組成返回True.
StringUtils.isAlphanumericSpace(String str);
只由字母數字和空格組成
StringUtils.isNumericSpace(String str);
只由數字和空格組成
9、取得某字符串在另一字符串中出現的次數
StringUtils.countMatches(str,seqString);
取得seqString在str中出現的次數,未發現則返回零
System.out.println(StringUtils.countMatches( "Chinese People", "e"));
1
輸出:
4
10、部分截取字符串
StringUtils.substringBetween(testString,fromString,toString ):
取得兩字符之間的字符串
StringUtils.substringAfter(str,seqStr ):
取得指定字符串後的字符串
StringUtils.substringBefore(str,seqStr ):
取得指定字符串之前的字符串
StringUtils.substringBeforeLast( str,seqStr ):
取得最後一個指定字符串之前的字符串
StringUtils.substringAfterLast(str,seqStr ):
取得最後一個指定字符串之後的字符串
String formatted = " 25 * (30,40) [50,60] | 30";
System.out.print("N0: " + StringUtils.substringBeforeLast( formatted, "*" ) );
System.out.print(", N1: " + StringUtils.substringBetween( formatted, "(", "," ) );
System.out.print(", N2: " + StringUtils.substringBetween( formatted, ",", ")" ) );
System.out.print(", N3: " + StringUtils.substringBetween( formatted, "[", "," ) );
System.out.print(", N4: " + StringUtils.substringBetween( formatted, ",", "]" ) );
System.out.print(", N5: " + StringUtils.substringAfterLast( formatted, "|" ) );
輸出:
N0: 25 , N1: 30, N2: 40, N3: 50, N4: 40) [50,60, N5: 30
11、首字母大寫
StringUtils.capitalize(String str); 首字母大寫
StringUtils.uncapitalize(String str);首字母小寫
12、 是否全是大寫,是否全是小寫
StringUtils.isAllUpperCase(String str);
StringUtils.isAllLowerCase(String str);
13、大小寫轉換,空格不動
StringUtils.swapCase(String str);
StringUtils.swapCase(“I am a-A*a”)
返回結果:i AM A-a*A
14、數組轉成字符串
StringUtil.convString(String str);
默認以逗號分隔
StringUtil.converString(String str, String conv) ;
用conv分隔
String[3] s={“a”,”b”,”c”}
StringUtil.convString(s)=”a,b,c”
String[3] s={“a”,”b”,”c”}
StringUtil.convString(s,”@”)=”a@b@c”
閱讀更多 程序員界的彭于晏 的文章