2016-06-07 118 views
-2

我有一些量作爲輸入,如:String.replaceAll(字符串,字符串)方法給出unexpexted輸出

器Rs1, INR10,954.00, INR 45000, INR 25000.70, Rs.25000, 盧比.1000, 盧比。 14000 這些是我使用

String getRuppee="Rs1"; // this string can not get the format and gives wrong output. 

    String val=getRuppee.toLowerCase() 
        .replaceAll(",", "") 
        .replaceAll("rs.", "") 
        .replaceAll("\"rs\"", "") 
        .replaceAll("rs", "") 
        .replaceAll("inr", "") 
        .replaceAll("inr ", "") 
        .replaceAll("mrp", "") 
        .replaceAll(" ", ""); 

的輸入格式這是我如何得到的輸出作爲每個輸入上述顯示出,除非第一個(RS1)。

Log.e("Converstion", "Converstion Balance." 
       +getRuppee.toLowerCase(). 

       replaceAll("rs.", "")); 

我需要的輸出1,但它給了我零。

Logcat Displays:「06-07 11:34:48.438:E/Converstion(8233):Conversation Balance。」

+2

你需要躲避'.'使用''\\。老實說,你的問題還不清楚。向我們顯示確切的輸入和輸出 – TheLostMind

+0

它不工作,我試試這個,它給了我06-07 12:00:51.408:E/Converstion(12706):Conversation Balance.rs1 –

+0

再次向我們展示確切的輸入格式和預期輸出。你的問題不清楚。刪除不必要的代碼(如果有) – TheLostMind

回答

2

這是在這裏你的問題

.replaceAll("rs.", "") 

作爲的replaceAll是基於正則表達式做更換,那麼這將取代任何東西開始rs後跟任意字符

嘗試使用.replace代替它取代所有的字符串

+0

我沒有單個字符串,但有多個。 –

+2

@SagarThakarar - 'replace()'替換「所有」字符串。檢查https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replace(java.lang.CharSequence,%20java.lang.CharSequence) – TheLostMind

2

更改您的代碼如下

String getRuppee="Rs1"; // this string can not get the format and gives wrong output. 

String val=getRuppee.toLowerCase() 
       .replace(",", "") 
       .replace("rs.", "") 
       .replace("\"rs\"", "") 
       .replace("rs", "") 
       .replace("inr", "") 
       .replace("inr ", "") 
       .replace("mrp", "") 
       .replace(" ", ""); 
0

試試下面的代碼:

String[] getRuppee = {"RS1", "INR10","954.00" , "INR 45000" , "INR 25000.70" , "Rs.25000" , "Rs.1,000" , "Rs. 14000"}; 

     for (String tmp : getRuppee){ 
      String val=tmp.toLowerCase() 
          .replaceAll(",", "") 
          .replaceAll("rs\\.", "") //check here 
          .replaceAll("\"rs\"", "") 
          .replaceAll("rs", "") 
          .replaceAll("inr", "") 
          .replaceAll("inr ", "") 
          .replaceAll("mrp", "") 
          .replaceAll(" ", ""); 
      System.out.println(val); 
     }