/**
* 字符串工具类
*
* @author zql
*/
public class StringUtil {
/**
* <p>
* 格式化字符串</br>
* 例1:formateString("xxx{0}bbb",1) = xxx1bbb</br>
* 例2:formateString("aaa{0}bbb{1}ccc{2}ddd{2}eee","9","5","100") = aaa9bbb5ccc100ddd100eee
* </p>
*
* @param str 格式化的字符串
* @param params 字符串参数
* @return 格式化之后的字符串
*/
public final static String formateString(String str, String... params) {
for (int i = 0; i < params.length; i++) {
str = str.replace("{" + i + "}", params[i] == null ? "" : params[i]);
}
return str;
}
/**
* 清空所有的全角和半角空格
*
* @param ori 要清空空格符的字符串
* @return
*/
public final static String clearSpace(String ori) {
// 替换所有半角空格
ori = ori.replaceAll("\\s+", "");
// 替换所有全角空格,即输入法为中文状态下打的空格
ori = ori.replaceAll("\\p{Zs}", "");
return ori;
}
/**
* 首字母转大写其他不变
*
* @param str 字符串
* @return 首字母转大写后的字符串
*/
public final static String firstToBig(String str) {
String firstStr = String.valueOf(str.charAt(0)).toUpperCase();
return firstStr + str.substring(1);
}
/**
* 循环拼接字符串
*
* @param str 字符串
* @param times 拼接的次数
* @return 拼接后的字符串
*/
public final static String getLoopSpellOn(String str, int times) {
StringBuffer sb = new StringBuffer();
if (times <= 0) {
return "";
} else {
for (int i = 0; i < times; i++) {
sb.append(str);
sb.append(",");
}
sb.deleteCharAt(sb.length() - 1);
return sb.toString();
}
}
/**
* 获取插入sql语句
*
* @param tableName 表名
* @param tableFields 字段名字符串,字段名以英文逗号隔开,例:a,b,c
* @return 返回 占位符方式的语句,?占位
*/
public final static String getInsertSql(String tableName, String tableFields) {
return "insert into " + tableName + " (" + tableFields + ") values (" + StringUtil.getLoopSpellOn("?", tableFields.split(",").length) + ") ";
}
/**
* 获取更新sql语句
*
* @param tableName 表名
* @param tableFields 字段名字符串,字段名以英文逗号隔开,例:a,b,c
* @param where 条件字符串
* @return 返回 占位符方式的语句 ,?占位
*/
public final static String getUpdateSql(String tableName, String tableFields, String where) {
return "update " + tableName + " set " + getLoopSplit(tableFields.split(","), "=?") +" " + where + " ";
}
/**
* <p>
* 字符串组装</br>
* 例: String tableFields = "a,b,c,d";</br>
* getLoopSplit(tableFields.split(","), "c") = ac,bc,cc,dc
* </p>
*
* @param split 字符串数组
* @param mark 要组装的字符串
* @return 以逗号隔开的字符串
*/
public final static String getLoopSplit(String[] split, String mark) {
if (split == null || split.length <= 0) {
return "";
}
if (split.length == 1) {
return split[0] + mark;
}
StringBuffer sb = new StringBuffer();
for (int i = 0; i < split.length; i++) {
sb.append(split[i] + mark);
sb.append(",");
}
sb.deleteCharAt(sb.length() - 1);
return sb.toString();
}
}
java工具类之字符串工具类
猜你喜欢
转载自blog.csdn.net/mr_zql/article/details/100059370
今日推荐
周排行