Hutool之字符串⼯具——StrUtil
字符串处理⼯具类 StrUtil
戒烟瘾这个⼯具的⽤处类似于中的StringUtil,之所以使⽤StrUtil⽽不是使⽤StringUtil是因为前者更短,⽽且Str这个简写我想已经深⼊⼈⼼了,⼤家都知道是字符串的意思。常⽤的⽅法例如isBlank、isNotBlank、isEmpty、isNotEmpty这些我就不做介绍了,判断字符串是否为空,下⾯我说⼏个⽐较好⽤的功能。
1. hasBlank、hasEmpty⽅法
就是给定⼀些字符串,如果⼀旦有空的就返回true,常⽤于判断好多字段是否有空的(例如web表单数据)。
这两个⽅法的区别是hasEmpty只判断是否为null或者空字符串(""),hasBlank则会把不可见字符也算做空,isEmpty和isBlank同理。2. removePrefix、removeSuffix⽅法
这两个是去掉字符串的前缀后缀的,例如去个⽂件名的扩展名啥。生活家电
String fileName = veSuffix("pretty_girl.jpg", ".jpg") //fileName -> pretty_girl
还有忽略⼤⼩写的removePrefixIgnoreCa和removeSuffixIgnoreCa都⽐较实⽤。
德怀恩韦德
3. sub⽅法
不得不提⼀下这个⽅法,有⼈说String有了subString你还写它⼲啥,我想说subString⽅法越界啥的都会报异常,你还得⾃⼰判断,难受死了,我把各种情况判断都加进来了,⽽且index的位置还⽀付负数哦,-1表⽰最后⼀个字符(这个思想来⾃于,如果学过的应该会很喜欢的),还有就是如果不⼩⼼把第⼀个位置和第⼆个位置搞反了,也会⾃动修正(例如想截取第4个和第2个字符之间的部分也是可以的哦~)举个栗⼦
String str = "abcdefgh";
泰山鸿毛String strSub1 = StrUtil.sub(str, 2, 3); //strSub1 -> c
String strSub2 = StrUtil.sub(str, 2, -3); //strSub2 -> cde
String strSub3 = StrUtil.sub(str, 3, 2); //strSub2 -> c
4. encode、decode⽅法
好吧,我承认把Byte(String chartName)⽅法封装在这⾥了,原⽣的Byte()这个⽅法太坑了,使⽤系统编码,经常会有⼈跳进来导致乱码问题,所以我就加了这两个⽅法强制指定字玫瑰的真正含义
符集了,包了个try抛出⼀个运⾏时异常,省的我得在我业务代码⾥处理那个恶⼼的UnsupportedEncodingException。
5. format⽅法
我会告诉你这是我最引以为豪的⽅法吗?灵感来⾃slf4j,可以使⽤字符串模板代替字符串拼接,我也⾃⼰实现了⼀个,⽽且变量的标识符都⼀样,神马叫⽆缝兼容~~来,上栗⼦(吃多了上⽕吧……)
String template = "{}爱{},就像⽼⿏爱⼤⽶";
String str = StrUtil.format(template, "我", "你"); //str -> 我爱你,就像⽼⿏爱⼤⽶五行八卦图
女人服装参数我定义成了Object类型,如果传别的类型的也可以,会⾃动调⽤toString()⽅法的。
优秀教师先进事迹6. 定义的⼀些常量
为了⽅便,我定义了⼀些⽐较常见的字符串常量在⾥⾯,像点、空串、换⾏符等等,还有HTML中的⼀些转移字符。
OK,就到这⾥,剩下的⼀些⽅法⾃⼰去源码⾥看吧,我注释⾃认为写的⽐⽂档好多了,希望多多采纳。