C# C-修改字符串中的双精度

C# C-修改字符串中的双精度,c#,double,C#,Double,我想编辑双值,它们是字符串中类型变化较大的部分: 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最简单的方法是使用正则表达式提取浮点值,并通过float/decimal/double或任何您需要的数据类型进行转换 修改后,可以再次使用相同的正则表达式替换字符串 Regex regex = new Re

我想编辑双值,它们是字符串中类型变化较大的部分:

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

最简单的方法是使用正则表达式提取浮点值,并通过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());
        }
正则表达式贷记给: