2015-11-07 33 views
0

我想編輯在大varition類型的字符串部分的雙重價值:C# - 修改雙打串

「1 /(2.342/x)的」

「X^3.45」

「123 * x」

等等。

任何很好的例子,我怎麼只能修改它們?是因爲我想能夠改變他們爲一個新的隨機雙。例如

「1 /(2.342/X)」 ---> 「1 /(23.2/X)」

「的x^3.45」 ---> 「的x^0.2」

「 123 * x「---」3.23 * x「

回答

0

最簡單的方法,使用正則表達式提取浮動值,並通過float/decimal/double或任何您需要的數據類型轉換它們。

修改之後,您可以再次使用相同的正則表達式替換您的字符串。

 Regex regex = new Regex(@"[1-9][0-9]*\.?[0-9]*([Ee][+-]?[0-9]+)?"); 
     string testString ="1/(2.342/x) * x^3.45"; 
     MatchCollection collection = regex.Matches(testString); 
     foreach(Match item in collection) 
     { 
      double extract =Convert.ToDouble(item.Value); 
      //change your decimal here... 
      testString = testString.Replace(item.Value, extract.ToString()); 
     } 

正則表達式學分:https://stackoverflow.com/a/2293793/2084262