All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.shaohj.sstool.core.util.StrUtil Maven / Gradle / Ivy

package com.github.shaohj.sstool.core.util;

import java.util.Map;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 编  号:
 * 名  称:StrUtil
 * 描  述:字符串工具类
 * 完成日期:2019/6/18 21:04
 * @author:felix.shao
 */
public class StrUtil {

    /**
     * 判断字符是否为空
     * @param str
     * @return
     */
    public static boolean isEmpty(CharSequence str) {
        return str == null || str.length() == 0;
    }

    /**
     * 获取文件类型后缀
     * @param str eq: a.txt
     * @return String eq: txt
     */
    public static String getStringSuffix(String str) {
        if (isEmpty(str)) {
            return "";
        }
        int idx = str.lastIndexOf(".");
        return idx > 0 ? str.substring(idx + 1) : "";
    }

    /**
     * 字符串模板工具类,只支持${}单个的表达式,不支持嵌套表达式
     * @param content 示例:hello ${name}, 1 2 3 4 5 ${six} 7, again ${name}.
     * @param map  map.put("name", "java"); map.put("six", "6");
     * @return String eq:hello java, 1 2 3 4 5 6 7, again java.
     */
    public static String renderString(String content, Map map){
        Set> sets = map.entrySet();
        for(Map.Entry entry : sets) {
            String regex = "\\$\\{" + entry.getKey() + "\\}";
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(content);
            content = matcher.replaceAll(entry.getValue().toString());
        }
        return content;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy