/*
*字符串处理类
*/
public class StringUtil {
/*
*判断对象是否为空
*/
public static boolean isEmpty(Object s) {
if (s == null || "".equals(s)) {
return true;
}
return false;
}
/*
*判断对象是否不为空
*/
public static boolean isNotEmpty(Object s) {
if (s == null || "".equals(s)) {
return false;
}
return true;
}
/*
*拼接字符串
*arr : 字符串数组
*split :分隔符
*suffix:字符串外包装字符
*/
public static String join(String[] arr,String split,String suffix) {
StringBuffer buffer = new StringBuffer("");
for (String s : arr) {
buffer.append(suffix);
buffer.append(s);
buffer.append(suffix);
buffer.append(split);
}
if (buffer.length() > 0) {
//删除某个指定下标的字符
buffer.deleteCharAt(buffer.length() - 1);
}
return buffer.toString();
}
/*
*拼接字符串
*lst : 字符串集合
*split :分隔符
*suffix:字符串外包装字符
*/
public static String join(List<String> lst,String split,String suffix) {
StringBuffer buffer = new StringBuffer("");
for (String s : lst) {
buffer.append(suffix);
buffer.append(s);
buffer.append(suffix);
buffer.append(split);
}
if (buffer.length() > 0) {
buffer.deleteCharAt(buffer.length() - 1);
}
return buffer.toString();
}
/*
*字符串拼接
*
*
*/
public static String join(List<String> lst,String split) {
return join(lst,split,"");
}
/*
*拼接字符串
*/
public static String join(String[] arr, String split) {
return join(arr,split,"");
}
/*
*拼接字符串
*/
public static String join(String arr,String splix,String suffix) {
if (arr != null) {
return join(arr.split(","),split,suffix);
} else {
return "";
}
}
/*
*判断字符串是否是数值
*/
public static boolean isNumber(String str) {
Pattern pattern = Pattern.complie("^[0-9]+(.[0-9]*)?$");
Matcher match = pattern.matcher(str);
return match.matches();
}
/*
*根据长度截取字符串
*/
public static String subStringEx(String data,int len,String prefix) {
if (data == null || "".equals(data)) {
return null;
}
String afterfix = "...";
try {
//使用GBK字符编码转成字节码
byte[] bytes = data.getBytes("GBK");
StringBuilder sb = new StringBuilder();
if (prefix != null && !"".equals(prefix)) {
//在截取长度中去掉前缀的长度
len -= prefix.getBytes("GBK").length;
//存取前缀
sb.append(prefix);
}
if (bytes.length <= len) {
//当字符串长度小于截取长度,则将原本的字符串拼接进去
sb.append(data);
} else {
//如果字符串长度大于截取长度,则有部分数据要处理
//截取长度去除后缀长度
len -= afterfix.getBytes("GBK").length;
if (bytes[len] < 0) {
//如果当前长度的字节为空,则将截取长度前移
//如果前一个还为空?怎么办?
//如果前一个可以为空,那么这一步存在的意义?
//如果想要获得它的最后一个字节,为什么不用bytes.length-1?
len --;
}
//以GBK编码构建原字节数组的指定长度
String s = new String(bytes,0,len,"GBK");
//将新字符串拼接到返回结果中
sb.append(s);
//拼接后缀
sb.append(afterfix);
}
//如果不发生异常,则直接将结果返回
return sb.toString();
} catch (Exception e) {
//出现异常,直接返回空
return "";
}
}
/*
*in 条件查询时拼接问号和参数
*/
public static String inParamToQuestionMarkAndParam(String parameters,List<Object> paramList) {
StringBuffer sb = new StringBuffer();
for (String parameter : parameters.split(",")) {
sb.append("?,");
paramList.add(parameter);
}
sb.deleteCharAt(sb.length() - 1);
return sb.toString();
}
}
字符串处理类StringUtil
最新推荐文章于 2021-11-10 18:38:23 发布