将字符串拆分为单词和数字

时间:2011-01-27 06:15:08

标签: java

我有一个字符串如下。

  

sil(0.14,0.25) in(0.25,0.82) order(0.82,1.03) to(1.03,1.17) entertain(1.17,1.94) the(1.94,2.04) people(2.04,2.41) who(2.41,2.54) are(2.54,2.6) listening(2.6,3.13) to(3.13,3.29)你,..........

我将字符串分割如下。

sil
0.14
0.25

in
0.25
0.82

order
0.82
1.03

to
1.03
1.17

我想要的是找到每个单词后两个数字之间的差异。 例如:sil = 0.25 - 0.14       in = 0.82 - 0.25

请告诉我如何执行此任务。

非常多。

1 个答案:

答案 0 :(得分:0)

这是我的解决方案:

    {li> .split() " "所以您可以获得{sil(0.14,0.25), in(0.25,0.82) ...} 等数组
  1. 通过拆分.parse()并逐个减去

    来获取此数组和","中的每一个
    private static float parse(String s) {
       String str = s.substring(s.indexOf('(')+1, s.length()-1);
       String[] numbers = str.split(",");
    
       return Float.parseFloat(numbers[1]) - Float.parseFloat(numbers[0]);
    
    }
    
    public static void main(String[] args) {
        String s = "sil(0.14,0.25) in(0.25,0.82) order(0.82,1.03) to(1.03,1.17)            entertain(1.17,1.94) the(1.94,2.04) people(2.04,2.41) who(2.41,2.54) are(2.54,2.6) listening(2.6,3.13) to(3.13,3.29)";
    
        String[] sArray = s.split(" ");
    
        for(String str : sArray){
           String head = str.substring(0, str.indexOf('('));
           System.out.println(head + "=" +parse(str));
        }
    
    }