首页 > 其他分享 >关于工具类的学习-StringUtils(常用)

关于工具类的学习-StringUtils(常用)

时间:2022-11-04 14:01:21浏览次数:50  
标签:常用 return String fields param public str 工具 StringUtils

关于工具类的学习-StringUtils(常用)

package com.WT.bigdata.dsjmh.api.utils;

import java.util.HashMap;
import java.util.Map;

public class StringUtils {
    /**
     * 判断字符串是否为空
     * @param str 字符串
     * @return 是否为空
     */
    public static boolean isEmpty(String str) {
        return str == null || "".equals(str);
    }

    public static boolean isEmpty(Object o) {
        return o == null || "".equals(o.toString());
    }

    /**
     * 判断字符串是否不为空
     * @param str 字符串
     * @return 是否不为空
     */
    public static boolean isNotEmpty(String str) {
        return str != null && !"".equals(str);
    }

    /**
     * 截断字符串两侧的逗号
     * @param str 字符串
     * @return 字符串
     */
    public static String trimComma(String str) {
        if(str.startsWith(",")) {
            str = str.substring(1);
        }
        if(str.endsWith(",")) {
            str = str.substring(0, str.length() - 1);
        }
        return str;
    }

    /**
     * 补全两位数字
     * @param str
     * @return
     */
    public static String fulfuill(String str) {
        if(str.length() == 1)
            return "0" + str;
        return str;
    }


    /**
     * 补全num位数字
     * @param str
     * @return
     */
    public static String fulfuill(int num,String str) {
        if(str.length() == num) {
            return str;
        } else {
            int fulNum = num-str.length();
            String tmpStr  =  "";
            for(int i = 0; i < fulNum ; i++){
                tmpStr += "0";
            }
            return tmpStr + str;
        }
    }


    /**
     * 从拼接的字符串中提取字段
     * @param str 字符串
     * @param delimiter 分隔符
     * @param field 字段
     * @return 字段值
     * name=zhangsan|age=18
     */
    public static String getFieldFromConcatString(String str,
                                                  String delimiter, String field) {
        try {
            String[] fields = str.split(delimiter);
            for(String concatField : fields) {
                // searchKeywords=|clickCategoryIds=1,2,3
                if(concatField.split("=").length == 2) {
                    String fieldName = concatField.split("=")[0];
                    String fieldValue = concatField.split("=")[1];
                    if(fieldName.equals(field)) {
                        return fieldValue;
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String[] args) {
        System.out.println(setFieldInConcatString("name=xuruyun,age=55",",","name","bochen"));
    }

    /**
     * 从拼接的字符串中给字段设置值
     * @param str 字符串
     * @param delimiter 分隔符
     * @param field 字段名
     * @param newFieldValue 新的field值
     * @return 字段值
     *  name=zhangsan123
     *  age=18
     *  name=zhangsan|age=18
     */
    public static String setFieldInConcatString(String str,
                                                String delimiter, String field, String newFieldValue) {

        // searchKeywords=iphone7|clickCategoryIds=1,2,3

        String[] fields = str.split(delimiter);

        for(int i = 0; i < fields.length; i++) {
            String fieldName = fields[i].split("=")[0];
            if(fieldName.equals(field)) {
                String concatField = fieldName + "=" + newFieldValue;
                fields[i] = concatField;
                break;
            }
        }

        StringBuffer buffer = new StringBuffer("");
        for(int i = 0; i < fields.length; i++) {
            buffer.append(fields[i]);
            if(i < fields.length - 1) {
                buffer.append("|");
            }
        }

        return buffer.toString();
    }

    /**
     * age=19
     * name=jack
     * @param str
     * @param delimiter
     *  name=zhangsan|age=18
     * @return
     *
     */
    public static Map<String, String> getKeyValuesFromConcatString(String str, String delimiter) {
        Map<String, String> map = new HashMap<> ();
        try {
            String[] fields = str.split(delimiter);
            for(String concatField : fields) {
                // searchKeywords=|clickCategoryIds=1,2,3
                if(concatField.split("=").length == 2) {
                    String fieldName = concatField.split("=")[0];
                    String fieldValue = concatField.split("=")[1];
                    map.put(fieldName, fieldValue);
                }
            }
            return map;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public static Integer convertStringtoInt(String str) {
        try {
            return Integer.parseInt(str);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;

    }

}

标签:常用,return,String,fields,param,public,str,工具,StringUtils
From: https://www.cnblogs.com/atao-BigData/p/16857519.html

相关文章

  • CountDownLatch并发工具类
    作用CountDownLatch允许一个或多个线程等待其他线程完成操作,相当于一个加强版的join方法。核心方法CountDownLatch的构造函数接收一个int类型的参数作为计数器,如果你想等待N......
  • Vue2 到 Vue3,重学这 5 个常用的 API
    距离Vue3发布已经过去一年多时间了,从Vue2到Vue3是一个不小的升级,包括周边生态等。虽然目前大多数开发者们在使用的仍旧以Vue2为准,但Vue3显然是Vue开发者们未来必须面对的,......
  • Guava中常用Object方法-equals与null比较、hashCode、自定义toString、自定义compareT
    场景Java核心工具库Guava介绍以及Optional和Preconditions使用进行非空和数据校验:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/127683387在上面引入Gua......
  • 教你手写webpack常用loader
    前言webpack作为目前主流的前端构建工具,我们几乎每天都需要与它打交道。个人认为一个好的开源产品壮大的原因应该包括核心开发者的稳定输出以及对应生态的繁荣。对于生态......
  • Spring Boot 常用应用属性配置列表
    #===================================================================#COMMONSPRINGBOOTPROPERTIES##Thissamplefileisprovidedasaguideline.DoNOT......
  • CyclicBarrier并发工具类
    作用让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开放,所有被屏障拦截的线程才会继续运行。核心方法CyclicBarrier(intparties):默认构......
  • LINUX开发常用命令
     配置网卡命令:vi/etc/systemd/network/50-static.network查看代码[Match]Name=eth0[Network]Address=192.168.5.9/24Gateway=192.168.5.1......
  • Kotlin常用函数 let,with,apply,also,run
    前言kotlin开发中常用的几个函数,let,with,run,apply,also,他们都是范围函数,具体使用场景迷糊,开发中不知道如何使用。这里罗列出来泛型表达式,反编译之后字节码进行对比,方便记忆......
  • js 密码强度检测工具
    效果:  新建一个密码强度检测工具文件 password-strength.js://hasnumberconsthasNumber=(number)=>newRegExp(/[0-9]/).test(number);//hasmixofs......
  • Unity 常用功能代码工具集
    Unity常用功能整理安卓摄像头的调用请求与拍摄、截图//////————————SakuraNeko————————//////博客园:https://www.cnblogs.com/sakuraneko//......