StringUtil
来源:互联网 发布:知乎付费广告 编辑:程序博客网 时间:2024/05/22 15:23
import java.util.Arrays;import java.util.Collections;import java.util.List;/** * 字符串工具类 * */public class StringUtil {public static final String CHARSET_NAME = "UTF-8";/** * 根据传入的字符串生成字符串集合 * * @param val * @return List<String> */@SuppressWarnings("unchecked")public static List<String> stringToList(String val) {if (val != null) {String[] list = val.split("[ ]*,[ ]*");return Arrays.asList(list);} else {return Collections.EMPTY_LIST;}}/** * 转换对象为字符串,如果对象为空,返回为"" * * @param obj * Object * @return String */public static String nvl(Object obj) {if (obj == null) {return "";}if (obj instanceof String) {return (String) obj;}return obj.toString();}/** * 检查字符串是否不为空 * * @param obj * a string to check * @return true if the string is not empty */public static boolean isNotBlank(Object obj) {if (!nvl(obj).trim().equals("")) {return true;}return false;}/** * 检查字符串是否为空 * * @param obj * a string to check * @return true if the string is empty */public static boolean isBlank(Object obj) {return !isNotBlank(obj);}/** * 计算中文字的个数 * * @author tyun * @since 2012/12/20 */public static int chineseCount(String word) {int v = 0;char c;for (int cc = 0; cc < word.length(); cc++) {c = word.charAt(cc);if (!(c >= 32 && c <= 126))v++;}return v;}/** * 首字符前面补空格 * * @param val * 值 * @param length * 补足长度 * @return String */public static String padLeftSpace(String val, int length) {return padSpace(val, length, CHARSET_NAME, true);}/** * 尾数后补空格 * * @param val * 值 * @param length * 补足长度 * @return String */public static String padRightSpace(String val, int length) {return padSpace(val, length, CHARSET_NAME, false);}/** * 字符串添加空格 * * @param val * 值 * @param length * 变换int用文字数生成 * @param charsetName * 编码格式 * @param isLeft * true:左边补空格(首字符前),false:右边补空格(尾数后) * @return String */public static String padSpace(String val, int length, String charsetName,boolean isLeft) {if (val == null) {return "";}int num = 0;String sRet = "";try {num = length - val.getBytes(charsetName).length;if (num <= 0) {return val;}StringBuffer result = new StringBuffer();for (int i = 0; i < num; i++) {result.append((char) 32);}if (isLeft == true) {sRet = result.toString() + val;} else {sRet = val + result.toString();}} catch (Exception e) {e.printStackTrace();}return sRet;}/** * 首字符前面补0 * * @param val * 值 * @param length * 补足长度 * @return String */public static String padLeftZero(String val, int length) {return padZero(val, length, CHARSET_NAME, true);}/** * 字符串添加0 * * @param val * 值 * @param length * 变换int用文字数生成 * @param charsetName * 编码格式 * @param isLeft * true:左边补0(首字符前),false:右边补0(尾数后) * @return String */public static String padZero(String val, int length, String charsetName,boolean isLeft) {if (val == null) {return "";}int num = 0;String sRet = "";try {num = length - val.getBytes(charsetName).length;if (num <= 0) {return val;}StringBuffer result = new StringBuffer();for (int i = 0; i < num; i++) {result.append((char) 48);}if (isLeft == true) {sRet = result.toString() + val;} else {sRet = val + result.toString();}} catch (Exception e) {e.printStackTrace();}return sRet;}/** * 计算字符串的长度. 一个字符长度为1,一个汉字的长度为2. * * @param String * @return int */public static int lengthOfString(String value) {if (value == null)return 0;StringBuffer buff = new StringBuffer(value);int length = 0;String stmp;for (int i = 0; i < buff.length(); i++) {stmp = buff.substring(i, i + 1);try {stmp = new String(stmp.getBytes(CHARSET_NAME));} catch (Exception e) {e.printStackTrace();}if (stmp.getBytes().length > 1) {length += 2;} else {length += 1;}}return length;}/** * 将字符串转为整型字符串 * * @param value * @return */public static String str2IntStr(String value) {int iRet = 0;try {value = isBlank(value) ? "0" : value;iRet = Integer.parseInt(value);} catch (Exception e) {e.printStackTrace();}return "" + iRet;}/** * 判断字符串是否仅含英文或数字,不含中文 * * @param val * @return */public static boolean isEnglish(String val) {if (isBlank(val)) {return false;}return val.getBytes().length == val.length();}}
0 0
- StringUtil
- stringutil
- StringUtil
- StringUtil
- stringutil
- StringUtil
- StringUtil
- StringUtil
- StringUtil
- StringUtil
- StringUtil
- StringUtil
- StringUtil
- StringUtil
- StringUtil
- StringUtil
- StringUtil
- StringUtil
- mysql5.5.24源码编译
- printf的格式控制的完整格式:
- jquery链式操作
- Android存储-file存储
- uva512追踪电子表格
- StringUtil
- 数值分析 幂法求矩阵A按模最大的特征值和相应的特征向量
- 通过adb命令修改文件权限问题
- 小技巧3-使用Xcode的代码块功能提高编码速度
- POJ-2501
- 数组,结构体,结构体数组的差别 (使用指针访问元素时)
- android开发的一些概念
- UTF-8,gb2312,GBK的区别
- PLA code