package com.ruoyi.business.util; import java.io.PrintWriter; import java.io.StringWriter; import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; public class StringKit { public StringKit() { } public static Boolean isEmpty(Object argObject) { Boolean tbool = false; String tString = toString(argObject); if (tString.equals("")) { tbool = true; } return tbool; } public static String toString(Object argObject) { String tmpstr = ""; try { if (argObject != null) { tmpstr = argObject.toString(); if ("null".equals(tmpstr) || "underfind".equals(tmpstr) || "undefined".equals(tmpstr) || "{}".equals(tmpstr)) { tmpstr = ""; } } } catch (Exception var3) { } return tmpstr; } public static boolean isNumeric(String str) { Pattern pattern = Pattern.compile("[0-9]*"); return pattern.matcher(str).matches(); } public static boolean isEng(String str) { Pattern pattern = Pattern.compile("[a-zA-Z]"); return pattern.matcher(str).matches(); } public static String getTrace(Throwable t) { StringWriter stringWriter = new StringWriter(); PrintWriter writer = new PrintWriter(stringWriter); t.printStackTrace(writer); StringBuffer buffer = stringWriter.getBuffer(); return buffer.toString(); } /** * 空时 返回NA(有的厂家字段必填,我们没有,先用NA补充) * * @return */ public static String responseNa(Object object) { if (isEmpty(object)) { return "NA"; } return String.valueOf(object); } /** * 检查某个字符串出现几次 * * @return */ public static Integer getStrCount(String str, String indexStr) { //java中判断一个字符出现的次数 //在下面字符串中查找有几个啊 // String str = "啊!我爱你中国!啊,我爱你故乡"; //存放每个字符的数组 String[] strs = new String[str.length()]; //计数该字符出现了多少次 int count = 0; //先把字符串转换成数组 for (int i = 0; i < strs.length; i++) { strs[i] = str.substring(i, i + 1); } //挨个字符进行查找,查找到之后count++ for (int i = 0; i < strs.length; i++) { if (strs[i].equals(indexStr)) { count++; } } // System.out.println("一共有"+count+"个啊"); return count; } public static Map parse(String input) { Map result = new HashMap<>(); // 定义正则表达式 String regex = "(\\w+)=\"([^\"]*)\""; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); // 使用正则表达式进行匹配 while (matcher.find()) { // 提取键值对 String key = matcher.group(1); String value = matcher.group(2); result.put(key, value); } return result; } }