替换文件中一行的第一个和最后一个字符的最佳方法

时间:2012-05-16 22:29:00

标签: c#

我有一个看起来像这样的文件:

"sdfkhsdf,sdfgsg,sdfsdf,sdsdf"
"sdfsdf,"43534",sdfsdf,24234,sfddsf"
"efsdf,234234,sdfsdf,234234,sadfsdf"

我需要删除文件中每一行的FIRST和LAST字符(我需要删除第一个双引号和最后一个双引号)。请注意,数据可能在其中有引号,但绝对不需要第一个和最后一个引号。

最有效的方法是什么?

2 个答案:

答案 0 :(得分:6)

如果您没有以下行,请使用string.Trim""sdfsdf", 43534,sdfsdf,24234,"sfddsf""

line.Trim('"');

答案 1 :(得分:4)

如果它真的只是第一个和最后一个角色,我会做类似的事情:

    using (var text = System.IO.File.ReadAllLines(filename))
    {
        using (var outfile = System.IO.File.CreateText(newfilename))
        {
            foreach (var line in text)
            {
                if (line.Length > 2)
                    outfile.WriteLine(line.Substring(1, line.Length - 2));
                else
                    outfile.WriteLine(line);
            }
            outfile.Flush();
        }
    }

是的,Trim(...)在这种情况下更好。