使用java 正则表达式如何读取以下数组中的%user对应数据
avg-cpu:%user%nice%system%iowait%steal%idle38.710.003.603.150.0054.54,一个文本中有多个这类型的数组,...
avg-cpu: %user %nice %system %iowait %steal %idle
38.71 0.00 3.60 3.15 0.00 54.54
,一个文本中有多个这类型的数组,都需要提取%user的数据,该如何写? 展开
38.71 0.00 3.60 3.15 0.00 54.54
,一个文本中有多个这类型的数组,都需要提取%user的数据,该如何写? 展开
1个回答
展开全部
public class Test941 {
public static void main(String[] args) {
// \d+ 表示至少有一个数字
// \p{Punct} 表示其中的一个:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
// 空格+ 表示匹配一个或者多个空格
Pattern p = Pattern.compile("(\\d+\\p{Punct}\\d+) +(\\d+\\p{Punct}\\d+) +(\\d+\\p{Punct}\\d+) +(\\d+\\p{Punct}\\d+) +(\\d+\\p{Punct}\\d+)");
String u = "38.71 0.00 3.60 3.15 0.00 54.54";
Matcher m = p.matcher(u);
while (m.find()) {
System.out.println("m.group():" + m.group());
System.out.println("m.group(1):" + m.group(1));
System.out.println("m.group(2):" + m.group(2));
System.out.println("m.group(3):" + m.group(3));
System.out.println("m.group(4):" + m.group(4));
System.out.println("m.group(5):" + m.group(5));
}
}
}
希望能帮到你
追问
这样需要把匹配的数据要一个一个的写入到程序中,太麻烦了,我给出的数组只是文本中的一个,如果一个文本中有多个这样的数组,而且每个数组都需要提取%user的数据,该怎么弄?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询