用于提取第一个单词和计算数字的java正则表达式操作

时间:2013-03-10 01:37:53

标签: java regex

我正在寻找一个在Java中使用的正则表达式操作,它将提取第一个单词,计算该行上的数字数,并将两者连接在一起用逗号分隔。

所以,例如:

"GAMESTATS  1(foul) 4(goals) 2(assists)"

将转换为:

"GAMESTATS , 3"

因为第一个单词是“GAMESTATS”,并且该行有三个数字(“1”,“4”和“2”)。

2 个答案:

答案 0 :(得分:1)

这样的事情会起作用:

String s = "GAMESTATS 1(foul) 4(goals) 2(assists)";
String output = s.split(" ")[0] + "," + (s.split("\\d+").length - 1);

或者,效率更高:

String output = s.substring(0, s.indexOf(" ")) + "," + (s.split("\\d+").length - 1);

答案 1 :(得分:0)

String[] srt = line.split()
StringBuffer sb = new StringBuffer();
sb.append(srt[0]);
sb.append(",");
int sum =0;
for(int i=1;i<srt.length;i++){
  sum += // You will need to use a pattern like this [0-9]+ to extract the num
}