如何从java中的给定字符串中提取子字符串

时间:2017-07-24 19:02:45

标签: java string split

我想提取给定字符串的子字符串。 示例字符串是rta=0.037ms;3000.000;5000.000;0; pl=10%;80;100;; rtmax=0.125ms;;;; rtmin=0.012ms;

我希望在" rta ="之后只需0.037毫秒pl =后的百分比。我试图用空格然后用分号拼接上面的字符串。不工作。

2 个答案:

答案 0 :(得分:5)

String s = "rta=0.037ms;3000.000;5000.000;0; pl=10%;80;100;; rtmax=0.125ms;;;; rtmin=0.012ms;";
Pattern pattern = Pattern.compile("rta=(.*?);.*pl=(.*?);");
Matcher matcher = pattern.matcher(s);
if(matcher.find()){
    System.out.println(matcher.group(1));
    System.out.println(matcher.group(2));
}

答案 1 :(得分:2)

String str = "rta=0.037ms;3000.000;5000.000;0; pl=10%;80;100;; rtmax=0.125ms;;;; rtmin=0.012ms;";
String[] parts = str.split(";");
String part1 = parts[0]; // rta=0.037ms
String part2 = parts[4]; // pl=10%
...

System.out.println(part1.substring(4)); // 0.037ms
System.out.println(part2.substring(4)); // 10%