使用Regex.Replace来保留可以变化的字符

ng8*_*92b 4 c# regex replace

我有以下内容:

string text = "version=\"1,0\"";
Run Code Online (Sandbox Code Playgroud)

我想替换comma为a dot,同时保持1和0,但要记住它们在不同的情况下是不同的!它可能是version="2,3".

自作聪明和noob-unworking方式做到这一点将是:

           for (int i = 0; i <= 9; i++)
            {
                for (int z = 0; z <= 9; z++)
                {
                    text = Regex.Replace(text, "version=\"i,z\"", "version=\"i.z\"");
                }
            }
Run Code Online (Sandbox Code Playgroud)

但是当然..它是一个字符串,我不想要i并且z在那里表现为字符串.

我也可以尝试跛脚但工作方式:

text = Regex.Replace(text, "version=\"1,", "version=\"1.");
text = Regex.Replace(text, "version=\"2,", "version=\"2.");
text = Regex.Replace(text, "version=\"3,", "version=\"3.");
Run Code Online (Sandbox Code Playgroud)

等等..但它会很蹩脚.

有关如何单手处理此问题的任何提示?

编辑:我有其他逗号,我不想替换,所以text.Replace(",",".")做不到

Pet*_*nov 5

你需要这样的正则表达式来找到逗号

Regex reg = new Regex("(version=\"[0-9]),([0-9]\")");
Run Code Online (Sandbox Code Playgroud)

然后做重新说明:

text = reg.Replace(text, "$1.$2");
Run Code Online (Sandbox Code Playgroud)

您可以使用$ 1,$ 2等按顺序引用匹配的组.