关于工具类的学习-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;
}
}
分类:
注解和包和工具类模块
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律