java 开发中常用的字符串工具类,StringUtil

java 开发中常用的字符串工具类,StringUtil

大家好,又见面了,我是全栈君。

import java.io.UnsupportedEncodingException; import org.apache.commons.lang.StringUtils; public class StringUtil { /** * 判断字符串是否为空 * @param str * null、“ ”、“null”都返回true * @return */ public static boolean isNullString(String str) { return (null == str || StringUtils.isBlank(str.trim()) || "null".equals(str.trim().toLowerCase())) ? true : false; } /** * 格式化字符串 * 如果为空,返回“” * @param str * @return */ public static String formatString(String str) { if(isNullString(str)) { return ""; } else { return str; } } /** * 截取字符串,字母、汉字都可以,汉字不会截取半 * @param str 字符串 * @param n 截取的长度,字母数,如果为汉字,一个汉字等于两个字母数 * @return */ public static String subStringByByte(String str, int n){ int num = 0; try { byte[] buf = str.getBytes("GBK"); if(n>=buf.length){ return str; } boolean bChineseFirstHalf = false; for(int i=0;i<n;i++) { if(buf[i]<0 && !bChineseFirstHalf){ bChineseFirstHalf = true; }else{ num++; bChineseFirstHalf = false; } } } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } return str.substring(0,num); } }

 

转载于:https://my.oschina.net/u/3647620/blog/1552575

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108099.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月7日 下午7:00
下一篇 2022年3月7日 下午7:00


相关推荐

  • PostMan的安装和使用教程[通俗易懂]

    PostMan的安装和使用教程[通俗易懂]postman的下载官网:https://www.getpostman.com/downloads/创建账号或者用谷歌浏览器账号登录一个demo了解一下我做的是一个app,后台使用java做的,app通过ajax来请求后台,但是我不知道后台有没有请求成功!因此需要一个测试接口的东西测试我做的接口有没有问题我的app里面的ajax是这样写的api.aja…

    2026年1月17日
    6
  • pycharm专业版下载安装教程_pycharm2021专业版安装教程

    pycharm专业版下载安装教程_pycharm2021专业版安装教程Pycharm官网地址(下载):https://link.zhihu.com/?target=https%3A//www.jetbrains.com/pycharm/download/other.html有各种不同版本的Pycharm供下载,本文选择Pycharm专业版下载,建议下载2020.1.5版本.安装教程下载完成之后,就按照步骤开始安装了,点击Next:我选择安装在F盘,因为C盘太占用空间了,会比较卡,点击Next:一定要选着添加到环境变量中,不然后面还要手动配置环境变量,比较麻烦,

    2022年8月28日
    5
  • java面试题:voliate底层原理——详解

    java面试题:voliate底层原理——详解1.voliate底层原理1.1voliate变量的特点可见性:当一个线程修改了声明为volatile变量的值,新值对于其他要读该变量的线程来说是立即可见的。有序性:volatile变量的所谓有序性也就是被声明为volatile的变量的临界区代码的执行是有顺序的,即禁止指令重排序。受限原子性:volatile变量不可保证原子性1.2voliate如何实现变量多线程安全?实际上,voliate实现多线程情况下的变量安全其实就是通过以下两个方式:1)实现变量可见性2)禁止指令重

    2022年5月22日
    71
  • AVAudioEngine录音崩溃, reason: ‘format.sampleRate == hwFormat.sampleRate

    AVAudioEngine录音崩溃, reason: ‘format.sampleRate == hwFormat.sampleRateAVAudioEngine录音频时偶发崩溃报错信息大致如下:2021-12-1520:12:38.429028+0800*[1659:708511]NSURLConnectionfinishedwitherror-code-1002″AudioRecorder创建Audio缓存文件夹成功/var/mobile/Containers/Data/Application//Library/Caches/Audio”2021-12-1520:13:30.762736+0800***

    2022年10月17日
    5
  • 软件安装 —— 使用官方ODT定制安装Office

    软件安装 —— 使用官方ODT定制安装Office前言正在MacOS11的BigSur如火如荼的宣传着,我这不争气的Windows系统也终于越看越是臃肿,做为生产力工具,第一还是要稳定精简,一气之下,直接换上了Windows特别版本LTSC,据说这个版本特别特别稳定,很长时间才会更新一次,但用过的都说好,想想还是激动的。重装系统是一个重大工程,那做为Windows第二重要的软件Office目前的安装模式要么官方下载安装包要么离线部署,而官方的安装包可谓是一键超级全家桶搬进C盘,有用的没用的全部装一遍,最终还是靠离线部署来安装了,可以定制想要的软件,还

    2025年10月11日
    4
  • vue init webpack命令出错 vue-cli/node_modules/_rimraf@2.6.2@rimraf/rimraf.js:313

    vue init webpack命令出错 vue-cli/node_modules/_rimraf@2.6.2@rimraf/rimraf.js:313这是在 vue 开发中的一个比较低级的错误但是肯能会遇到 分享在这儿以便遇到后能够很好的解决先说明一下此问题出现的开发环境 本机是 mac nvm 管理的 node 使用 nodev8 0 0 全局安装了 vue cli npminstallvu cli g 错误如下 Users weiyongqiang nvm versions node v9 2 0 lib node module

    2025年8月8日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号