用#替换""之间的未知文本

Can*_*ane 1 c# text replace

我目前有一个大文本文件,我试图用#替换""内的任何内容之间的未知文本.我试过用:

 string text = File.ReadAllText(@"c:\Users\Zero\Documents\test.txt");
    string replacement = "#";


        int start = text.IndexOf('"') + 1;
       text = text.Replace(text.Substring(start, text.LastIndexOf('"') - start), replacement);


    File.WriteAllText(@"c:\Users\Zero\Documents\test.txt", text);
Run Code Online (Sandbox Code Playgroud)

目前,它正在用一行替换文件中的所有文本.换句话说,它正在转变:

你好,你怎么"测试"

这是一个测试"123"测试

"测试一下"

"#"

我需要它来做到这一点

你好你好吗 "#"

这是一个测试"#"测试

"#""#"

p.s*_*w.g 10

像这样的正则表达式会派上用场:

"[^"]*"
Run Code Online (Sandbox Code Playgroud)

例如:

text = Regex.Replace(text, "\"[^\"]*\"", "\"#\"");
Run Code Online (Sandbox Code Playgroud)

  • 最简单的解决方案..期间! (3认同)