使用“|”分隔字符串

昨天踩了一个坑,在坑里折腾半天,终于跳了出来,踩坑原因主要是经验不足以及基础不扎实,所以赶紧快马加鞭补起来。
此坑是关于字符串分隔的,原来使用“|”分隔的时候是不能直接这样写的,需要写成“\\|”。

String body = "98399154296041905538|13125899681|13125899681|200|20181123160717|3|||905|1||||";
String[] bodyArray = body.split("\\|");

借此机会,参考网络信息,总结一下字符串截取的知识点。

java 字符串截取的几种方式

参考链接

1、split()+正则表达式来进行截取。

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

String str = "abc,12,3yy98,0";
String[]  strs=str.split(",");
for(int i=0,len=strs.length;i<len;i++){
    System.out.println(strs[i].toString());
}
输出结果:
abc
12
3yy98
0
2、通过subString()方法来进行字符串截取。

subString通过不同的参数来提供不同的截取方式
2.1只传一个参数

    String sb = "bbbdsajjds";
    sb.substring(2);//将字符串从索引号为2开始截取,一直到字符串末尾。(索引值从0开始);

2.2传入2个索引值

String sb = "bbbdsajjds";
sb.substring(2, 4);//从索引号2开始到索引好4结束(并且不包含索引4截取在内,也就是说实际截取的是2和3号字符)
3、通过StringUtils提供的方法
StringUtils.substringBefore(“dskeabcee”, “e”); 
//截取第一个“e”之前的所有字符
输出结果:dsk  -----这里是以第一个”e”,为标准。

StringUtils.substringBeforeLast(“dskeabcee”, “e”) 
//截取最后一个“e”之前的所有字符
输出结果:dskeabce  ----这里以最后一个“e”为准。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值