string方法介绍

Format(String, Object)

将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项。

  1. String kssj = StringUtils.isBlank( psnPaymentInfoReqDTO.getMonth() ) ?
  2. String.format( "%s01", psnPaymentInfoReqDTO.getYear() ) :
  3. String.format( "%s%s", psnPaymentInfoReqDTO.getYear(), psnPaymentInfoReqDTO.getMonth() );
  4. String jssj = StringUtils.isBlank( psnPaymentInfoReqDTO.getMonth() ) ?
  5. String.format( "%s12", psnPaymentInfoReqDTO.getYear() ) :
  6. String.format( "%s%s", psnPaymentInfoReqDTO.getYear(), psnPaymentInfoReqDTO.getMonth() );
  1. public class Test {
  2. public static void main(String[] args) throws IOException {
  3. BufferedReader bufferedReader=new BufferedReader(new FileReader("C:\\Users\\13579\\Desktop\\123.txt"));
  4. String line = null;
  5. while ((line = bufferedReader.readLine())!=null) {
  6. String regex = "\\s+"; //不管多少个空格
  7. String[] split = line.split(regex);
  8. System.out.println(String.format("INSU_IDET_%s(\"insuIdet\",\"%s\",\"%s\"),", split[0], split[0], split[1]));
  9. //INSU_IDET_1103("insuIdet","1103","灵活就业人员在职"),
  10. }
  11. // 释放资源
  12. bufferedReader.close();
  13. }
  14. }

startsWith(String prefix)

startsWith() 方法用于检测字符串是否以指定的前缀开始。
image.png

  1. /*
  2. 编写一个函数来查找字符串数组中的最长公共前缀。
  3. 如果不存在公共前缀,返回空字符串""。
  4. 示例 1:
  5. 输入:strs = ["flower","flow","flight"]
  6. 输出:"fl"
  7. */
  8. public class Test14 {
  9. public String longestCommonPrefix1(String[] strs) {
  10. if (strs.length==0){
  11. return "";
  12. }
  13. //公共前缀比所有字符串都短,随便选一个先
  14. String commonPrefix=strs[0]; //公共前缀先初始化为数组的第一个元素
  15. for (String str : strs) {
  16. while (!str.startsWith(commonPrefix)){
  17. //公共前缀不匹配就让它变短!
  18. commonPrefix=commonPrefix.substring(0,commonPrefix.length()-1);//返回字符串的子字符串,包含头,不包含尾
  19. }
  20. }
  21. return commonPrefix;
  22. }
  23. }

StringUtils方法介绍

有如下需求,生成以a开头后边是5为的顺序数的序列号,如a00001,a00002,a00003……,怎么处理呢,使用commons-lang3中的StringUtils.leftPad实现:

  1. import org.apache.commons.lang3.StringUtils;
  2. public class StringPadDemo {
  3. public static void main(String[] args) {
  4. for (int i = 0; i < 10; i++) {
  5. System.out.println("a" + StringUtils.leftPad(i + "", 5, "0"));
  6. }
  7. }
  8. }
  9. 打印结果:
  10. a00000
  11. a00001
  12. a00002
  13. a00003
  14. a00004
  15. a00005
  16. a00006
  17. a00007
  18. a00008
  19. a00009

定义:public static String leftPad(final String str, final int size, String padStr)
即在第一个参数str的左侧补充第三个参数padStr一直到size位。上例即为在 i+“”的左侧补充0一直到字符串长度为5。

StringUtils.isEmpty()和isBlank,isNoneBlank,isNotBlank的区别

  1. isEmpty和isBlank不同的地方, isEmpty认为空格(无论单空格还是多空格)都是不是空,而isBlank 认为空格,换行符号(\n),tab(\t)都是空.
  2. isNoneBlank 和isNotBlank 在同一个参数的情况下, 含义是一样的, 但是isNoneBlank 的参数, 可以是一个字符数组, 当isNoneBlank 的参数是一个数组的时候, 就是说有一个参数为null, 那么返回都会返回false.
    1. StringUtils.isEmpty(" "):false
    2. StringUtils.isEmpty(" "):false
    3. StringUtils.isEmpty(""):true
    4. StringUtils.isEmpty(null):true
    5. StringUtils.isEmpty("c"):false
    6. StringUtils.isEmpty("\t"):false
    7. StringUtils.isEmpty("\n"):false
    8. StringUtils.isEmpty("花木成畦手自栽"):false
    9. StringUtils.isEmpty(" 花木成畦手自栽 "):false
    10. StringUtils.isEmpty("花木 成畦 手 自栽"):false
    11. StringUtils.isEmpty(" 花木 成畦 手 自栽 "):false
    12. StringUtils.isBlank(" "):true
    13. StringUtils.isBlank(" "):true
    14. StringUtils.isBlank(""):true
    15. StringUtils.isBlank(null):true
    16. StringUtils.isBlank("c"):false
    17. StringUtils.isBlank("\t"):true
    18. StringUtils.isBlank("\n"):true
    19. StringUtils.isBlank("花木成畦手自栽"):false
    20. StringUtils.isBlank(" 花木成畦手自栽 "):false
    21. StringUtils.isBlank("花木 成畦 手 自栽"):false
    22. StringUtils.isBlank(" 花木 成畦 手 自栽 "):false
    23. StringUtils.isNoneBlank(" "):false
    24. StringUtils.isNoneBlank(" "):false
    25. StringUtils.isNoneBlank(""):false
    26. StringUtils.isNoneBlank(null):false
    27. StringUtils.isNoneBlank("花木成畦手自栽"):true
    28. StringUtils.isNoneBlank("花木成畦手自栽",""):false
    29. StringUtils.isNoneBlank("花木成畦手自栽",null):false
    30. StringUtils.isNoneBlank("花木成畦手自栽"," "):false
    31. StringUtils.isNoneBlank(" 花木成畦手自栽 "):true
    32. StringUtils.isNoneBlank("花木 成畦 手 自栽"):true
    33. StringUtils.isNoneBlank(" 花木 成畦 手 自栽 "):true
    34. StringUtils.isNotBlank(" "):false
    35. StringUtils.isNotBlank(" "):false
    36. StringUtils.isNotBlank(""):false
    37. StringUtils.isNotBlank(null):false
    38. StringUtils.isNotBlank("花木成畦手自栽"):true
    39. StringUtils.isNotBlank(" 花木成畦手自栽 "):true
    40. StringUtils.isNotBlank("花木 成畦 手 自栽"):true
    41. StringUtils.isNotBlank(" 花木 成畦 手 自栽 "):true