2011-01-27 56 views
1

我有一個字符串,如下所示。將字符串拆分爲單詞和數字

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

請讓我知道如何完成這項任務。

Thaks很多。

回答

0

這裏是我的解決方案:

  1. .split()通過" "這樣你就可以得到像{sil(0.14,0.25), in(0.25,0.82) ...}
  2. 陣列通過分割","採取每個數組和.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)); 
        } 
    
    } 
    
  3. 第一減
+0

非常感謝hilal。這實際上是我在尋找的東西。我在字符串操作方面的經驗很少。再次感謝。 – gishara 2011-01-27 07:51:04