如何替换文件中的 2 个双引号

本文关键字:文件 何替换 替换 | 更新日期: 2023-09-27 18:34:19

我有 2 个双引号需要用单双引号替换。

我正在使用这种方法:

private static void ReplaceTextInFile(string originalFile, string outputFile, string searchTerm, string replaceTerm)
{
    string tempLineValue;
    using (FileStream inputStream = File.OpenRead(originalFile))
    {
        using (StreamReader inputReader = new StreamReader(inputStream))
        {
            using (StreamWriter outputWriter = File.AppendText(outputFile))
            {
                while (null != (tempLineValue = inputReader.ReadLine()))
                {
                    outputWriter.WriteLine(tempLineValue.Replace(searchTerm, replaceTerm));
                }
            }
        }
    }
}

并这样称呼它

ReplaceTextInFile(file, file + "new", (char)34 + (char)34, (char)34);

我得到的错误是

Error   4   Argument '3': cannot convert from 'int' to 'string' 
and  Error  5   Argument '4': cannot convert from 'char' to 'string'    

我做错了什么?

如何替换文件中的 2 个双引号

我会使用ReplaceTextInFile(file, file + "new", "'"'"", "'"");

(char)34+(char)34是一个int,值为68。
该函数需要一个字符串。

我会通过"'"'""
(用反斜杠转义每个双引号)

ReplaceTextInFile(file, file + "new", "'"'"", "'"");

你用一个Int32char + char== int)和一个Char来调用这个方法,而不是两个string值。 为什么不直接使用?

ReplaceTextInFile(file, file + "new", "'"'"", "'"");

该函数需要四个string。 你通过两个string,然后是一个int,然后是一个char

添加两个char s会导致int 。 你不能连接字符,这没有意义,因为char代表单个字符,所以结果是一个int

最后一个是直接投char预期string的地方,这似乎足够明显。