繁体   English   中英

检测空间并添加逗号

[英]Detect space and add a comma

我的文本文件包含以下员工电子邮件

abc@ewr.com
xyc@df.co.nz
rte@pope.com
ssddsf@fdf.com

我想要改变成这样

abc @ ewr.com,xyc @ df.co.nz,rte @ pope.com,ssddsf @ fdf.com

我该如何使用C#代码?

string yourString = oldString.Replace(' ', ',');

它很可能不是空格而是换行符,所以它将是

string yourString = oldString.Replace(Environment.NewLine, ",");

可以做到这一点;

    string linesFromFile = string.Empty;

    // Read into string from file
    using (StreamReader sr = new StreamReader("filename.txt"))
    {
        linesFromFile = sr.ReadToEnd();
        linesFromFile = linesFromFile.Replace(Environment.NewLine, ",");
        Console.WriteLine(linesFromFile);
    }

    // Write back from string to file
    using (StreamWriter sw = new StreamWriter("newFilename.txt"))
    {
        foreach(string s in linesFromFile.Split(','))
        {
            sw.WriteLine(s);
        }
    }

我将直接对文件进行操作,以避免将潜在的巨大员工数据库读入字符串的开销:

private static void MungeFile(string filename)
{
    FileStream fsOut = File.Create(filename+"_out");
    FileStream fsIn = File.OpenRead(filename);
    StreamReader sr = new StreamReader(fsIn);
    StreamWriter sw = new StreamWriter(fsOut);
    while (!sr.EndOfStream)
    {
        string inputLine = sr.ReadLine();
        string terminator = (sr.EndOfStream ? "" : ",");
        sw.Write(inputLine + terminator);
    }
    sw.Flush();
    fsOut.Close();
}

微软的文档很好地涵盖了这一点: http://msdn.microsoft.com/en-us/library/ms228599.aspx

以字符串形式读取文本文件,然后执行类似的操作以用逗号替换换行符(如果要替换空格,请用''替换Environment.NewLine):

String newFile = oldFile.Replace(Environment.NewLine,',');

这会将CR \\ LF和空格替换为','

string newContent = string.Join(",", 
                                File.ReadAllLines("sourceFile.txt")
                                ).Replace(' ', ',')

File.WriteAllText("newFile.txt", newContent);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM