package cn.com.nike.util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 对String进行操作
* @author soya.song
*2017.3.21
*/
public class UtilString {
private static final Logger log = LoggerFactory.getLogger(UtilString.class);
/**
* 去除空格,下划线,全部转小写
* 应用场景:将excel列名转换为对象属性名
* 对象属性名使命规则:列名去除空格,下划线,全部小写以后即为属性名,该处对象不采取驼峰命名规则,因动态取值,赋值,固需遵循该规则
* @param str
* @return
*/
public static String newString(String str){
return str.toLowerCase().replaceAll("\s*", "").replaceAll("_", "");//全部小写,去除空格,去除下划线
}
/**
* 全部转小写
* @param str
* @return
*/
public static String allLowercase(String str){
return str.toLowerCase();
}
/**
* 去除空格
* @param str
* @return
*/
public static String RemoveBlankSpace(String str){
return str.replaceAll("\s*", "");
}
/**
* 去除下划线
* @param str
* @return
*/
public static String RemoveUnderline(String str){
return str.replaceAll("_", "");
}
/**
* 去除斜杠
* @param str
* @return
*/
public static String RemoveSlash(String str){
return str.replaceAll("/", "");
}
/**
* 去除所有空格,所有特殊符号,首字母小写,这个方法把数字也去除了
* 应用场景:将excel列名改为java对象属性名
* 1 去除/ _ () 所有空格
* 2 首字母小写
* @param str
* @return
*/
public static String getNewString(String str){
log.info("UtilString.getNewString.转换前为。。。。。。。。。。"+str);
String newStr=toLowerCaseFirstOne (str.trim().replaceAll("_", "").replaceAll("/", "").replaceAll("\(|\)", "").replaceAll("\s*", ""));
log.info("UtilString.getNewString.转换后为。。。。。。。。。。"+newStr);
return newStr;
}
//首字母转小写
public static String toLowerCaseFirstOne(String s){
if(Character.isLowerCase(s.charAt(0)))
return s;
else
return (new StringBuilder()).append(Character.toLowerCase(s.charAt(0))).append(s.substring(1)).toString();
}
// //首字母转大写
public String toUpperCaseFirstOne(String s){
if(Character.isUpperCase(s.charAt(0)))
return s;
else
return (new StringBuilder()).append(Character.toUpperCase(s.charAt(0))).append(s.substring(1)).toString();
}
/**
* 去除所有空格,所有特殊符号,首字母小写
* 该方法去除了一切特殊符号,包括数字
* @param str
* @return
*/
public static String getNewStringNoNum(String str){
log.info("UtilString.getNewString.转换前为。。。。。。。。。。"+str);
char[] chars = str.toCharArray();
StringBuffer buffer=new StringBuffer();
for(int i = 0; i < chars.length; i ++) {
if((chars[i] >= 19968 && chars[i] <= 40869) || (chars[i] >= 97 && chars[i] <= 122) || (chars[i] >= 65 && chars[i] <= 90)) {
// buffer.append(chars[i]);
if (chars[0] >= 'A' && chars[0] <= 'Z') {//当为字母时,则转换为小写
buffer.append(chars[i]);
}
}
}
System.out.print(toLowerCaseFirstOne(buffer.toString()));
log.info("UtilString.getNewString.转换后为。。。。。。。。。。"+toLowerCaseFirstOne(buffer.toString()));
return toLowerCaseFirstOne(buffer.toString());
}
}