import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
/**
* @ClassName StringUtilAll
* @Description TODO
* @Author xuelo
* @DATE 12/19/2018 11:04 AM
* @Version JDK1.8
*/
public class StringUtilAll {
/*
leftPad(String str,int size,char padChar)char也可以替换成为String或者不写
return static String
填充字符串的方法
str为要填充的字符串,size是填充过后的字符串长度,padChar是要填充的char
如果char的位置是空,就填充whitespace
null不可以被填充
""是可以填充的
int部分如果小于str的长度或者是负数,输出的结果还是原来的str
另rightPad方法与此类似
*/
@Test
public void test1(){
String str = "window";
System.out.println(StringUtils.leftPad(str,7));//" window"
System.out.println(StringUtils.leftPad(str,8,'a'));//"aawindow"
System.out.println(StringUtils.leftPad(null,2,"1"));//null
System.out.println(StringUtils.leftPad("",3,"sy"));//"sys"
System.out.println(StringUtils.leftPad(str,-2,"aa"));//"window
}
/*
repeat:return static String
repeat(char ch, int repeat)
Returns padding using the specified delimiter repeated to a given length.
用ch重复填充到指定长度
repeat(String str, int repeat)
Repeat a String repeat times to form a new String.
与上类似
repeat(String str, String separator, int repeat)
Repeat a String repeat times to form a new String, with a String separator injected each time.
重复str repeat次,并且每次重复中间加separator的内容
repeat<=0时输出结果为""(str不为null时)
str为null时即使有separator返回值也为null
*/
@Test
public void test2(){
System.out.println(StringUtils.repeat('a',3));//"aaa"
System.out.println(StringUtils.repeat("ab",3));//"ababab"
System.out.println(StringUtils.repeat("ab",",",3));//"ab,ab,ab"
System.out.println(StringUtils.repeat("ab",-2));//""
System.out.println(StringUtils.repeat(null,"l",3));//null
}
/*
return static String
str为null时返回null
abbreviate(String str, int maxWidth)
Abbreviates a String using ellipses.
用省略号简写一个字符串,maxWidth为最大的字符串长度,包括省略号的三个点的长度
maxWidth<=3会报错IllegalArgumentException
abbreviate(String str, int offset, int maxWidth)
Abbreviates a String using ellipses.
offset>5=时左边才会出现省略号,即左边缘为5时才出现左边省略号
直到右边省略号只能省略三个长度时右边省略号消失(包括三个)
此时再增加offset结果不会变(offset超过str长度也不会变)
abbreviate(String str, String abbrevMarker, int maxWidth)
Abbreviates a String using another given String as replacement marker.
abbreviate(String str, String abbrevMarker, int offset, int maxWidth)
Abbreviates a String using a given replacement marker.
*/
@Test
public void test3(){//第一种比较好理解没有实例,第二种方法直接引用官方文档
StringUtils.abbreviate(null, *, *) = null
StringUtils.abbreviate("", 0, 4) = ""
StringUtils.abbreviate("abcdefghijklmno", -1, 10) = "abcdefg..."
StringUtils.abbreviate("abcdefghijklmno", 0, 10) = "abcdefg..."
StringUtils.abbreviate("abcdefghijklmno", 1, 10) = "abcdefg..."
StringUtils.abbreviate("abcdefghijklmno", 4, 10) = "abcdefg..."
StringUtils.abbreviate("abcdefghijklmno", 5, 10) = "...fghi..."
StringUtils.abbreviate("abcdefghijklmno", 6, 10) = "...ghij..."
StringUtils.abbreviate("abcdefghijklmno", 8, 10) = "...ijklmno"
StringUtils.abbreviate("abcdefghijklmno", 10, 10) = "...ijklmno"
StringUtils.abbreviate("abcdefghijklmno", 12, 10) = "...ijklmno"
StringUtils.abbreviate("abcdefghij", 0, 3) = IllegalArgumentException
StringUtils.abbreviate("abcdefghij", 5, 6) = IllegalArgumentException
}
}