去掉字符串指定的前缀
- 利用正则判断字符串前缀是否存在str.toLowerCase().matches("^" + pf.toLowerCase() + “.*”)
- 如果存在,利用substring截取前缀字符串长度的后面的字符串
- 方法如下:
/**
* 去掉字符串指定的前缀
* @param str 字符串名称
* @param prefix 前缀数组
* @return
*/
public static String removePrefix(String str, String[] prefix) {
if (StringUtils.isEmpty(str)) {
return "";
} else {
if (null != prefix) {
String[] prefixArray = prefix;
for(int i = 0; i < prefix.length; ++i) {
String pf = prefixArray[i];
if (str.toLowerCase().matches("^" + pf.toLowerCase() + ".*")) {
return str.substring(pf.length());//截取前缀后面的字符串
}
}
}
return str;
}
}
public static void main(String[] args) {
String[] prefix = {"pre_","log_"};//去掉字符串前缀为pre_、log_
String str = "pre_name";//测试字符串
System.out.println(removePrefix(str,prefix));
}
清除字符串下划线
- 利用split分割成字符串数组
- 遍历数组,用StringBuffer拼接字符串,下划线后的首字母大写(驼峰结构)
- 方法如下:
/**
* 清除字符串下划线
* @param strKey
* @return
*/
public static String getNoUnderlineStr(String strKey){
if(strKey.indexOf("_")!=-1){
String[] keyArray = strKey.split("_");
StringBuffer sb = new StringBuffer();
boolean flag = false;
for(String key:keyArray){
if(flag){
//下划线后的首字母大写
sb.append(StringUtils.capitalize(key));
}else{
flag=true;
sb.append(key);
}
}
strKey = sb.toString();
}
return strKey;
}