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"));}}}打印结果:a00000a00001a00002a00003a00004a00005a00006a00007a00008a00009
定义: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(" "):falseStringUtils.isEmpty(" "):falseStringUtils.isEmpty(""):trueStringUtils.isEmpty(null):trueStringUtils.isEmpty("c"):falseStringUtils.isEmpty("\t"):falseStringUtils.isEmpty("\n"):falseStringUtils.isEmpty("花木成畦手自栽"):falseStringUtils.isEmpty(" 花木成畦手自栽 "):falseStringUtils.isEmpty("花木 成畦 手 自栽"):falseStringUtils.isEmpty(" 花木 成畦 手 自栽 "):falseStringUtils.isBlank(" "):trueStringUtils.isBlank(" "):trueStringUtils.isBlank(""):trueStringUtils.isBlank(null):trueStringUtils.isBlank("c"):falseStringUtils.isBlank("\t"):trueStringUtils.isBlank("\n"):trueStringUtils.isBlank("花木成畦手自栽"):falseStringUtils.isBlank(" 花木成畦手自栽 "):falseStringUtils.isBlank("花木 成畦 手 自栽"):falseStringUtils.isBlank(" 花木 成畦 手 自栽 "):falseStringUtils.isNoneBlank(" "):falseStringUtils.isNoneBlank(" "):falseStringUtils.isNoneBlank(""):falseStringUtils.isNoneBlank(null):falseStringUtils.isNoneBlank("花木成畦手自栽"):trueStringUtils.isNoneBlank("花木成畦手自栽",""):falseStringUtils.isNoneBlank("花木成畦手自栽",null):falseStringUtils.isNoneBlank("花木成畦手自栽"," "):falseStringUtils.isNoneBlank(" 花木成畦手自栽 "):trueStringUtils.isNoneBlank("花木 成畦 手 自栽"):trueStringUtils.isNoneBlank(" 花木 成畦 手 自栽 "):trueStringUtils.isNotBlank(" "):falseStringUtils.isNotBlank(" "):falseStringUtils.isNotBlank(""):falseStringUtils.isNotBlank(null):falseStringUtils.isNotBlank("花木成畦手自栽"):trueStringUtils.isNotBlank(" 花木成畦手自栽 "):trueStringUtils.isNotBlank("花木 成畦 手 自栽"):trueStringUtils.isNotBlank(" 花木 成畦 手 自栽 "):true
