Java常见的几种字符串截取方式

Posted Macro-zhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java常见的几种字符串截取方式相关的知识,希望对你有一定的参考价值。

文章目录

通过subString()方法来进行字符串截取,返回字符串的子字符串

1.传递一个参数

public String substring(int beginIndex)
String Str ="hello world";
System.out.println(Str.substring(4));//从第4位截取到字符串尾(o world)

2.传递两个参数

public String substring(int beginIndex,int endIndex)
System.out.println(Str.substringx(4,10));//从第4位截取到第10位(o worl)

通过StringUtils提供的方法

StringUtils.substring("hello world",4);//从第4位截取到字符串尾(o world)
StringUtils.substring("hello world",4,10);//从第4位截取到第10位(o worl)
//截取某个字符串之前的字符
StringUtils.substringBefore("hello world","l");//以第一个“l”为标准(he)
StringUtils.substringBeforeLast("hello world");//以最后一个“l”为标准(hello wor)

//截取某个字符串之后的字符
StringUtils.substringAfter("hello world","l");//以第一个“l”为标准(lo world)
StringUtils.substringAfterLast("hello world","l");//以最后一个“l”为标准(d)

//截取两个字符串之间隔的字符
StringUtils.substringBetween("hello world","o");//两个o之间的字符(w)
StringUtils.substringBetween("hello world","l","r");//第一个字符“l”与第一个字符“r”之间的字符串(lo wo)
StringUtils.substringsBetween("hello world", "l", "r");//第一个字符“l”与第一个字符“r”之间的字符串,以数组形式返回([lo wo])

split()+正则表达式来进行截取,将字符串按照分割符截取,以数组形式返回

String str = "11, 22, 33, 44, 55";
String[] strs=str.split(",");
for(int i=0,len=strs.length;i<len;i++)
	System.out.println(strs[i].toString());

正则表达式

特殊字符描述
.表示任意一个字符
[abc]表示a,b,c中的任意一个字符
[^abc]除abc以外的任意字符
[a-zA-Z]介于a-z或A-Z中的任意一个字符
\\s空白符(空格、tab、换行、换页、回车)
\\S非空白符
\\d任意一个数字[0-9]
\\D任意一个非数字 [ ^0-9]
\\w词字符[a-zA-Z_0-9]
\\W非词字符

表示字符出现次数的符号

符号描述
*0次或多次
+1次或多次
0次或1次
n恰好n次
n,m至少n次,不多余m次

JAVA截取字符串的几种方式

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

String str = "abc,11,abc123,1";
String[]  strs=str.split(",");
for(int i=0,len=strs.length;i<len;i++){
    System.out.println(strs[i].toString());
}

 

运行结果:

abc
11
abc123
1

  

2.通过subString()方法来进行字符串截取。 
subString通过不同的参数来提供不同的截取方式 
2.1只传一个参数 
例如:

String sb = "abcdef122d";
    sb.substring(2);

 

将字符串从索引号为2开始截取,一直到字符串末尾。(索引值从0开始); 
2.2传入2个索引值

String sb = "abcdef122d";
    sb.substring(2,4);

  

从索引号2开始到索引好4结束(并且不包含索引4截取在内,也就是说实际截取的是2和3号字符); 
运行结果如下:

cdef122d
cd

  

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

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













以上是关于Java常见的几种字符串截取方式的主要内容,如果未能解决你的问题,请参考以下文章

java 字符串截取的几种方式

java 字符串截取的几种方式

关于JS截取字符串以及截取数组项的几种常见方法解析

Java字符串反转常见的几种方式?

Java 常见问题总结

字符串截取的几种基本方法