2016-04-21 20 views
-1

嗨,我正在使用以下代碼從字符串中獲取double值。Android正則表達式獲得第一種可能性

if (content!=null){ 
      Pattern p = Pattern.compile("[0-9]+([.][0-9]+)?$"); 
      Matcher m = p.matcher(content); 
      if(m.find()){ 
       textView2.setText(m.group(0)); 
      } 
     } 

但我的問題是,它總是顯示我有一個字符串「34.56比24.67更大」。在此我要回34.56,但總是上面的代碼雙值。例如最後一次出現返回24.67。任何人都可以讓我看到第一次出現的正確方法嗎?任何幫助將不勝感激,並提前致謝。

+1

你使用'$'這標誌着string..use這個'[0-9] +([0-9] + [。])的結束'' – rock321987

+1

$'?是字符串結尾的錨點。這就是模式在字符串結尾找到double的原因。 –

+0

感謝你的工作。 – Karthik

回答

0

請勿使用$。這是爲了字符串的結尾。因此,它應該是:

[0-9]+([.][0-9]+)?