java 去空格工具类_StringUtils工具类常用方法汇总2(截取、去除空白、包含、查询索引)...

在上一篇中总结了StringUtils工具类在判断字符串为空,大小写转换,移除字符或字符序列,替换,反转,切割合并等方面的方法,这次再汇总一下其它常用的方法。

一、截取

StringUtils中常用的截取字符串的方法如下:

substring(String str,int start)

substring(String str,int start, int end)

substringAfter(String str,String separator)

substringAfterLast(String str,String separator)

substringBefore(String str,String separator)

substringBeforeLast(String str,String separator)

substringBetween(String str,String tag)

需要注意的是,截取字符串时,若被截取的字符串为null或"",则截取之后的返回的字符串也为null和""。

(1)根据指定位置截取字符串,当指定的截取位置为非负数时,则从左往右开始截取,第一位为0,后面依次类推,但当索引值为负数时,则从右往左截取,注意此时右侧第一位为-1:

a)只指定了起始位置,则截取至字符串末尾:

StringUtils.substring(null, 2); // "" null和""截取后都返回null和""

StringUtils.substring(null, 2); // null

StringUtils.substring("china", 0); // china 指定的起始截取位置为0,则从第一位开始截取,也就是不截取

StringUtils.substring("china", 2); // ina 指定的截取位置为2,则从左往右第三位开始截取

StringUtils.substring("china", -2); // na 指定的截取位置为-2,则从右往左第二位开始截取

b)指定了起始位置和结束位置,则从起始位置开始截取到结束位置(但不包含结束位置):

StringUtils.substring(null, 2, 4); // null null和""截取后都返回null和""

StringUtils.substring("", 2, 4); // ""

StringUtils.substring("china", 0, 0); // ""

StringUtils.substring("china", 2, 4); // in

StringUtils.substring("china", -2, -4); // in

StringUtils.substring("china", 2, -3); // ""

StringUtils.substring("china", 2, -1); // in

(2)根据指定的分隔符进行截取(不包含该分隔符):

a)从分隔符第一次出现的位置向后截取:

StringUtils.substringAfter("china", "i"); // na 从第一次出现"i"的位置向后截取,不包含第一次出现的"i"

StringUtils.substringAfter("china", "hi"); // na

StringUtils.substringAfter("chinachina","h")); // inachina

StringUtils.substringAfter("china", "a"); // ""

StringUtils.substringAfter("china", "d"); // "" 分隔符在要截取的字符串中不存在,则返回""

StringUtils.substringAfter("china", "")); // china 分隔符为"",则返回原字符串

Stringtils.substringAfter("china", null); // "" 分隔符为null,则返回""

b)从分隔符最后一次出现的位置向后截取:

StringUtils.substringAfterLast("china", "i"); // na

StringUtils.substringAfterLast("chinachina", "i"); // na "i"最后出现的位置向后截取

c)从分隔符第一次出现的位置向前截取:

StringUtils.substringBefore("china", "i"); // ch

StringUtils.substringBefore("chinachina", "i"); // ch 从"i"第一次出现的位置向前截取

d)从分隔符最后一次出现的位置向前截取:

StringUtils.substringBeforeLast("china", "i");

StringUtils.substringBeforeLast("chinachina", "i"); // chinach

e)截取指定标记字符串之间的字符序列:

StringUtils.substringBetween(null, "ch") // null

StringUtils.substringBetween("", "") // ""

StringUtils.substringBetween("tagabctag", "") // "" 标记字符串为"",则截取后返回""

StringUtils.substringBetween("", "tag") // null // 注意此处返回的是null

StringUtils.substringBetween("tagabctag", null) // null 标记字符串为null,则截取后返回null

StringUtils.subst

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值