您现在的位置: 365建站网 > 365学习 > Java 截取字符串的几种方式

Java 截取字符串的几种方式

文章来源:365jz.com     点击数:402    更新时间:2018-06-03 11:11   参与评论

众所周知,java提供了很多字符串截取的方式。下面就来看看大致有几种。 
1.split()+正则表达式来进行截取。 
将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。

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号字符); 
运行结果如下:

bdsajjds
bd


示例

 

var str="Hello world!"

document.write(str.substring(1,3));

 

上面返回字符串:"el";

str.substring(1,2) //返回e

str.substring(1) //返回"ello world";

还有此函数中会出现奇怪的现象,当出现str.substring(5,0);

这又是怎么回事,不过返回的是"hello",

str.substring(5,1) //返回"ello",截去了第一位,返回余下的.

可见substring(start,end),可以有不同的说明,即start可以是要返回的长度,end是所要去掉的多少个字符(从首位开始).

在JS中,substr(start,length),用得较方便.


举例:

  var str = "0123456789";

  alert(str.substring(0));------------"0123456789"

  alert(str.substring(5));------------"56789"

  alert(str.substring(10));-----------""

  alert(str.substring(12));-----------""

  alert(str.substring(-5));-----------"0123456789"

  alert(str.substring(-10));----------"0123456789"

  alert(str.substring(-12));----------"0123456789"

  alert(str.substring(0,5));----------"01234"

  alert(str.substring(0,10));---------"0123456789"

  alert(str.substring(0,12));---------"0123456789"

  alert(str.substring(2,0));----------"01"

  alert(str.substring(2,2));----------""

  alert(str.substring(2,5));----------"234"

  alert(str.substring(2,12));---------"23456789"

  alert(str.substring(2,-2));---------"01"

  alert(str.substring(-1,5));---------"01234"

  alert(str.substring(-1,-5));--------""

  alert(str.substr(0));---------------"0123456789"

  alert(str.substr(5));---------------"56789"

  alert(str.substr(10));--------------""

  alert(str.substr(12));--------------""

  alert(str.substr(-5));--------------"0123456789"

  alert(str.substr(-10));-------------"0123456789"

  alert(str.substr(-12));-------------"0123456789"

  alert(str.substr(0,5));-------------"01234"

  alert(str.substr(0,10));------------"0123456789"

  alert(str.substr(0,12));------------"0123456789"

  alert(str.substr(2,0));-------------""

  alert(str.substr(2,2));-------------"23"

  alert(str.substr(2,5));-------------"23456"

  alert(str.substr(2,12));------------"23456789"

  alert(str.substr(2,-2));------------""

  alert(str.substr(-1,5));------------"01234"

  alert(str.substr(-1,-5));-----------""


3.通过StringUtils提供的方法 
StringUtils.substringBefore(“dskeabcee”, “e”); 
/结果是:dsk/ 
这里是以第一个”e”,为标准。

StringUtils.substringBeforeLast(“dskeabcee”, “e”) 
结果为:dskeabce 
这里以最后一个“e”为准。


如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (402人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------