string方法介绍
Format(String, Object)
将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项。
String kssj = StringUtils.isBlank( psnPaymentInfoReqDTO.getMonth() ) ?
String.format( "%s01", psnPaymentInfoReqDTO.getYear() ) :
String.format( "%s%s", psnPaymentInfoReqDTO.getYear(), psnPaymentInfoReqDTO.getMonth() );
String jssj = StringUtils.isBlank( psnPaymentInfoReqDTO.getMonth() ) ?
String.format( "%s12", psnPaymentInfoReqDTO.getYear() ) :
String.format( "%s%s", psnPaymentInfoReqDTO.getYear(), psnPaymentInfoReqDTO.getMonth() );
public class Test {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader=new BufferedReader(new FileReader("C:\\Users\\13579\\Desktop\\123.txt"));
String line = null;
while ((line = bufferedReader.readLine())!=null) {
String regex = "\\s+"; //不管多少个空格
String[] split = line.split(regex);
System.out.println(String.format("INSU_IDET_%s(\"insuIdet\",\"%s\",\"%s\"),", split[0], split[0], split[1]));
//INSU_IDET_1103("insuIdet","1103","灵活就业人员在职"),
}
// 释放资源
bufferedReader.close();
}
}
startsWith(String prefix)
startsWith() 方法用于检测字符串是否以指定的前缀开始。
/*
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串""。
示例 1:
输入:strs = ["flower","flow","flight"]
输出:"fl"
*/
public class Test14 {
public String longestCommonPrefix1(String[] strs) {
if (strs.length==0){
return "";
}
//公共前缀比所有字符串都短,随便选一个先
String commonPrefix=strs[0]; //公共前缀先初始化为数组的第一个元素
for (String str : strs) {
while (!str.startsWith(commonPrefix)){
//公共前缀不匹配就让它变短!
commonPrefix=commonPrefix.substring(0,commonPrefix.length()-1);//返回字符串的子字符串,包含头,不包含尾
}
}
return commonPrefix;
}
}
StringUtils方法介绍
有如下需求,生成以a开头后边是5为的顺序数的序列号,如a00001,a00002,a00003……,怎么处理呢,使用commons-lang3中的StringUtils.leftPad实现:
import org.apache.commons.lang3.StringUtils;
public class StringPadDemo {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println("a" + StringUtils.leftPad(i + "", 5, "0"));
}
}
}
打印结果:
a00000
a00001
a00002
a00003
a00004
a00005
a00006
a00007
a00008
a00009
定义:public static String leftPad(final String str, final int size, String padStr)
即在第一个参数str的左侧补充第三个参数padStr一直到size位。上例即为在 i+“”的左侧补充0一直到字符串长度为5。
StringUtils.isEmpty()和isBlank,isNoneBlank,isNotBlank的区别
- isEmpty和isBlank不同的地方, isEmpty认为空格(无论单空格还是多空格)都是不是空,而isBlank 认为空格,换行符号(\n),tab(\t)都是空.
- isNoneBlank 和isNotBlank 在同一个参数的情况下, 含义是一样的, 但是isNoneBlank 的参数, 可以是一个字符数组, 当isNoneBlank 的参数是一个数组的时候, 就是说有一个参数为null, 那么返回都会返回false.
StringUtils.isEmpty(" "):false
StringUtils.isEmpty(" "):false
StringUtils.isEmpty(""):true
StringUtils.isEmpty(null):true
StringUtils.isEmpty("c"):false
StringUtils.isEmpty("\t"):false
StringUtils.isEmpty("\n"):false
StringUtils.isEmpty("花木成畦手自栽"):false
StringUtils.isEmpty(" 花木成畦手自栽 "):false
StringUtils.isEmpty("花木 成畦 手 自栽"):false
StringUtils.isEmpty(" 花木 成畦 手 自栽 "):false
StringUtils.isBlank(" "):true
StringUtils.isBlank(" "):true
StringUtils.isBlank(""):true
StringUtils.isBlank(null):true
StringUtils.isBlank("c"):false
StringUtils.isBlank("\t"):true
StringUtils.isBlank("\n"):true
StringUtils.isBlank("花木成畦手自栽"):false
StringUtils.isBlank(" 花木成畦手自栽 "):false
StringUtils.isBlank("花木 成畦 手 自栽"):false
StringUtils.isBlank(" 花木 成畦 手 自栽 "):false
StringUtils.isNoneBlank(" "):false
StringUtils.isNoneBlank(" "):false
StringUtils.isNoneBlank(""):false
StringUtils.isNoneBlank(null):false
StringUtils.isNoneBlank("花木成畦手自栽"):true
StringUtils.isNoneBlank("花木成畦手自栽",""):false
StringUtils.isNoneBlank("花木成畦手自栽",null):false
StringUtils.isNoneBlank("花木成畦手自栽"," "):false
StringUtils.isNoneBlank(" 花木成畦手自栽 "):true
StringUtils.isNoneBlank("花木 成畦 手 自栽"):true
StringUtils.isNoneBlank(" 花木 成畦 手 自栽 "):true
StringUtils.isNotBlank(" "):false
StringUtils.isNotBlank(" "):false
StringUtils.isNotBlank(""):false
StringUtils.isNotBlank(null):false
StringUtils.isNotBlank("花木成畦手自栽"):true
StringUtils.isNotBlank(" 花木成畦手自栽 "):true
StringUtils.isNotBlank("花木 成畦 手 自栽"):true
StringUtils.isNotBlank(" 花木 成畦 手 自栽 "):true