/需要导入第三方jar包pinyin4j.jarimport net.sourceforge.pinyin4j.PinyinHelper;import java.util.regex.Matcher;
import java.util.regex.Pattern;public class StringUtils {protected static final String TAG = StringUtils.class.getSimpleName();/*** 增加空白*/public static String addBlank(int size) {return String.format("%" + size + "s", "");}/*** 判断字符串是否为null或者""*/public static boolean isEmptyOrNull(String content) {if (content == null || content.equals("")) {return true;}return false;}/***  判断字符串是否为IP地址*/public static boolean isIPAddress(String ipString) {if (ipString != null) {String[] singleArray = ipString.split("\\.");if (singleArray == null) {return false;}for (String numString : singleArray) {if (isEmptyOrNull(numString.trim())) {return false;}try {int num = Integer.parseInt(numString.trim());if (num < 0 || num > 255) {return false;}} catch (NumberFormatException e) {return false;}}return true;}return false;}/*** 是否是email地址*/public static boolean isEmailAddress(String emailString) {String format = "\\p{Alpha}\\w{2,15}[@][a-z0-9]{3,}[.]\\p{Lower}{2,}";return isMatch(format, emailString);}/*** 是否为数字*/public static boolean isDigit(String digitString) {if (!isEmptyOrNull(digitString)) {String regex = "[0-9]*";return isMatch(regex, digitString);}return false;}/***  字符串正则校验*/public static boolean isMatch(String regex, String string) {Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(string);return matcher.matches();}/***是否为URL地址*/public static boolean isUrl(String strIp) {String strPattern = "^((https?)|(ftp))://(?:(\\s+?)(?::(\\s+?))?@)?([a-zA-Z0-9\\-.]+)"+ "(?::(\\d+))?((?:/[a-zA-Z0-9\\-._?,'+\\&%$=~*!():@\\\\]*)+)?$";return isMatch(strPattern, strIp);}/***  String 转换成Unicode* @param string*            传入汉字* @return*/public static String string2Unicode(String string) {if (!isEmptyOrNull(string)) {char[] charArray = string.toCharArray();StringBuffer buffer = new StringBuffer();for (char ch : charArray) {int code = (int) ch;buffer.append(code);}return buffer.toString();}return null;}/***  Unicode转换成String* @param string* @return*/public static String unicode2String(String string) {if (!isEmptyOrNull(string)) {int end = 0;String noSpace = string.trim();int count = noSpace.length() / 5;StringBuffer buffer = new StringBuffer();for (int j = 0; j < count; j++) {end += 5;int uCode = Integer.valueOf(noSpace.substring(j * 5, end));buffer.append((char) uCode);}return buffer.toString();}return null;}/***  得到首字母*/public static String getPinYinFirstLetter(String string) {if (!isEmptyOrNull(string)) {char[] cs = string.toCharArray();for (int i = 0; i < cs.length; i++) {String[] pinyins = null;if (cs[i] > 128) {pinyins = PinyinHelper.toHanyuPinyinStringArray(cs[i]);}if (pinyins != null && pinyins.length > 0) {return pinyins[0].substring(0, 1);}}}return null;}/*** 获取url参数*/public static String getParamValueOfUrl(String url, String paramName) {try {String urls[] = url.split("[?]");if (urls.length > 1) {String param = urls[1];String params[] = param.split("[&]");for (String string : params) {String keyAndValue[] = string.split("[=]");if (keyAndValue.length > 1) {String key = keyAndValue[0];String value = keyAndValue[1];if (key.equalsIgnoreCase(paramName)) {return value;}}}}} catch (Exception e) {return "";}return "";}/*** 半角转换为全角* @param input* @return*/public static String ToDBC(String input) {char[] c = input.toCharArray();for (int i = 0; i < c.length; i++) {if (c[i] == 12288) {c[i] = (char) 32;continue;}if (c[i] > 65280 && c[i] < 65375)c[i] = (char) (c[i] - 65248);}return new String(c);}/*** 去除特殊字符或将所有中文标号替换为英文标号* @param str* @return*/public static String stringFilter(String str) {str = str.replaceAll("【", "[").replaceAll("】", "]").replaceAll("!", "!").replaceAll(":", ":");// 替换中文标号String regEx = "[『』]"; // 清除掉特殊字符Pattern p = Pattern.compile(regEx);Matcher m = p.matcher(str);return m.replaceAll("").trim();}/*** 根据Unicode编码完美的判断中文汉字和符号* @param c* @return*/private static boolean isChinese(char c) {Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) {return true;}return false;}/*** 完整的判断中文汉字和符号* @param strName* @return*/public static boolean isChinese(String strName) {char[] ch = strName.toCharArray();for (int i = 0; i < ch.length; i++) {char c = ch[i];if (isChinese(c)) {return true;}}return false;}public static String parseStream2Str(InputStream is) {//内存输出流ByteArrayOutputStream baos = new ByteArrayOutputStream();int len = -1;byte[] buffer = new byte[1024*8];try {while((len = is.read(buffer)) != -1){baos.write(buffer, 0, len);}return new String(baos.toByteArray());} catch (Exception e) {e.printStackTrace();return null;}}
}

转载于:https://www.cnblogs.com/loaderman/p/6435172.html

StringUtils相关推荐

  1. StringUtils.isEmpty和StringUtils.isBlank的区别

    两个方法都是判断字符是否为空的.前者是要求没有任何字符,即str==null 或 str.length()==0:后者要求是空白字符,即无意义字符.其实isBlank判断的空字符是包括了isEmpty ...

  2. org.apache.commons.lang.StringUtils的jar包是什么

    org.apache.commons.lang.StringUtils的jar包是什么 commons-lang-2.5.jar

  3. StringUtils工具类的常用方法

    StringUtils 方法的操作对象是 java.lang.String 类型的对象,是对 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String  ...

  4. 【java】java工具类StringUtils,org.apache.commons.lang3.StringUtils

    使用过程中,发现StringUtils工具类功能非常的多. 例如,判断元素是否为数字: StringUtils.isNumeric(string) 转载于:https://www.cnblogs.co ...

  5. StringUtils中 isNotEmpty 和isNotBlank的区别

    StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出Nu ...

  6. Apache Commons包 StringUtils工具类深入整理(转载)

    [转载地址]:cnblogs.com/sealy321/p/10227131.html 字符串是在程序开发中最常见的,Apache Commons开源项目在org.apache.commons.lan ...

  7. StringUtils.join的用法

    示例: // 集合List<String> orderNoList = new ArrayList<>();orderNoList.add("111");o ...

  8. StringUtils之equals

    打开org.apache.commons.lang包下面的StringUtils.class源码 /*** <p>Compares two Strings, returning <c ...

  9. StringUtils常用方法+StringUtils详细介绍

    StringUtils用法+StringUtils详细介绍 博文来源:http://yijianfengvip.blog.163.com/blog/static/1752734322012122219 ...

最新文章

  1. CSDN博客生成目录
  2. 你的灯亮着吗?阅读笔记之一
  3. 牛客 - 建通道(思维)
  4. QGraphicsProxyWidget paintEvent(from 1+1 =2)
  5. cocos2dx打飞机项目笔记二:BulletLayer类
  6. 天猫浏览型应用的CDN静态化架构演变
  7. ES6学习笔记(对象新增方法)
  8. 2020.10 小米赛第一场 A题
  9. 浙大PAT甲级1001-1020题目详细代码解答|标准答案|C++语言|浙软机考
  10. 行为树(Behavior Tree)详细介绍
  11. 【QT】通过QT_QPA_EGLFS_KMS_CONFIG宏来解决arm32环境下QT界面设置为透明却黑屏的问题
  12. android cue文件播放器,手机cue文件怎么打开(支持cue的安卓播放器)
  13. 视频编码码率控制:CBR、VBR和ABR
  14. spring源码之Mybatis扫描器
  15. linux开启并进入Mysql
  16. 现代设计在中国丨包豪斯城市会客厅无锡站圆满结束!
  17. GitHub 上六大爆款AI学习项目,Star超过5.6w
  18. 应对word无法编辑、无法选中、无法删除的方法
  19. sqlserver 多表查询 老师和学生表
  20. Nginx负载均衡配置策略

热门文章

  1. C++负数、小数如何保存
  2. java 外部类似_[求指点] 如何用java 实现类似linux中管道调用外部程序的功能
  3. C语言程序设计 细节总结(链表)
  4. windows mobile设置插移动卡没反应_ipad pro外接移动硬盘ipados
  5. nginx不同server不同日志文件_招标里的答疑是什么?和澄清文件有何不同?
  6. mysql中logs库_MySQL Logs
  7. 基于希克斯需求价格弹性计算_Serverless弹性伸缩的现状调研(超详细)
  8. 百度语音合成 js html,Node.js结合百度TTS接口实现文字转语音功能
  9. jwt 私钥_一分钟带你了解JWT认证
  10. python二维列表排序