[英]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.