java里面如何截取两个关键字中间的字符串

2024-11-01 17:34:06
推荐回答(5个)
回答(1):

1.split()+正则表达式来进行截取。
将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。
String str = "abc,12,3yy98,0";String[] strs=str.split(",");for(int i=0,len=strs.length;i
运行结果:
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
3.通过StringUtils提供的方法
StringUtils.substringBefore(“dskeabcee”, “e”);
/结果是:dsk/
这里是以第一个”e”,为标准。
StringUtils.substringBeforeLast(“dskeabcee”, “e”)
结果为:dskeabce

回答(2):

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

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

  1. String str = "abc,12,3yy98,0";

  2. String[]  strs=str.split(",");

  3. for(int i=0,len=strs.length;i

  4. System.out.println(strs[i].toString());

  5. }

运行结果:

  1. abc

  2. 12

  3. 3yy98

  4. 0

2.通过subString()方法来进行字符串截取。 

subString通过不同的参数来提供不同的截取方式 

2.1只传一个参数 

例如:

  1. String sb = "bbbdsajjds";

  2. sb.substring(2);

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

2.2传入2个索引值

  1. String sb = "bbbdsajjds";

  2. sb.substring(2, 4);

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

运行结果如下:

  1. bdsajjds

  2. bd

3.通过StringUtils提供的方法 

StringUtils.substringBefore(“dskeabcee”, “e”); 

/结果是:dsk/ 

这里是以第一个”e”,为标准。

StringUtils.substringBeforeLast(“dskeabcee”, “e”) 

结果为:dskeabce 

这里以最后一个“e”为准。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

回答(3):

我先不给你代码, 给你个思路, 自己敲才能起到练习作用
1> 获取字符串长度, 并判断是奇数还是偶数(str.length())
-1-如果是奇数, 直接 长度/2得到下标
-- 把字符串转换为字符数组 ( str.toCharArray() )
-- 取下标为长度/2的字符
-2-如果是偶数, 根据你的需要在做操作

回答(4):

String str = "

sad2f

";
String regex = "

(.*)

";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.group(1));
}

回答(5):

String data = "

123241422132";
String a = data.subString(indexOf('

'),indexOf(''));