【Java】【26】截取字符串

前言:

1,split

2,substring / StringUtils.substring

3,StringUtils.substringBefore / StringUtils.substringBeforeLast

4,StringUtils.substringAfter / StringUtils.substringAfterLast

5,StringUtils.substringBetween

 

正文:

1,split

将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。

注:

下标不能超过数组长度(strs.length),不然会报错;

Java的split方法是把字符串末尾的空字符全部舍弃的,这点要注意;

分割符为“.”和“|”(转义字符)的话,必须得加"\\",不加的话会分割成单个字符;

如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“a=1 and b=2 or c=3”,把三个都分隔出来,可以用String.split("and|or");

//按逗号分割字符串为数组
String str = "a,b,c";
String[] strs = str.split(",");
System.out.println(strs[0]);
//得到a

 

2,substring / StringUtils.substring

str.substring(2, 4) :索引值从0开始,该式子代表从索引2截取到索引4(不包含索引4,实际截取的是索引2和3)

str.substring(2) :从索引2截取到末尾(包含末尾值)

str.substring(-2) :从右往左开始数

注:截取范围超出字符串位数时会报错,所以要用str.length()先获取一下字符长度

String str = "abcdefg";
System.out.println(str.substring(2, 4));
//得到cd

StringUtils.substring(str, 2, 4):同上

 

3,StringUtils.substringBefore / StringUtils.substringBeforeLast

StringUtils.substringBefore(str,  char) :获取第一个指定字符前面的字符(指定字符可以是一个或多个字符)

String result = StringUtils.substringBefore("123e45ee6", "e"); 
System.out.println(result);
//得到123

StringUtils.substringBeforeLast(str,  char) :获取最后一个指定字符前面的字符

String result = StringUtils.substringBeforeLast("123e45ee6", "e"); 
System.out.println(result);
//得到123e45e

 

4,StringUtils.substringAfter / StringUtils.substringAfterLast

StringUtils.substringBefore(str,  char) :获取第一个指定字符后面的字符

String result = StringUtils.substringAfter("123e45ee6", "e"); 
System.out.println(result);
//得到45ee6

StringUtils.substringAfterLast(str,  char) :获取最后一个指定字符后面的字符

String result = StringUtils.substringAfter("123e45ee6", "e"); 
System.out.println(result);
//得到6

 

5,StringUtils.substringBetween

 StringUtils.substringBetween(str,char1, char2) : 获取char1和char2中间的字符

String result = StringUtils.substringAfter("123e45ee6", "12", "e"); 
System.out.println(result);
//得到3

 

参考博客:

1,java 字符串截取的几种方式 - 奋斗的小火车 - 优快云博客
https://blog.youkuaiyun.com/qq_27603235/article/details/51604584

2,StringUtils工具类常用方法汇总2(截取、去除空白、包含、查询索引) - |一只想飞的猪| - 博客园
https://www.cnblogs.com/guiblog/p/7986410.html

3,java中split的坑,用的时候一定要小心 - 孙琛斌的专栏 - 优快云博客
https://blog.youkuaiyun.com/sun5769675/article/details/50204591

 

转载于:https://www.cnblogs.com/huashengweilong/p/10961707.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值