c# - C# 不要用逗号分割字符串
问题描述
我正在使用 Xamarin.Forms 创建数据收集应用程序。此应用程序的一个特殊功能是通过 csv 导出数据。捕获后,使用以下方法将数据写入文本文件:
public void WriteToFile(string CompanyName, string Website, string FirsttName, string LastName, string JobTitle, string Phone, string Email, string Solution, string Notes, string ContactOwner, string EventName)
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
string filename = System.IO.Path.Combine(path, "Prospects.txt");
string lineToBeAdded = string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}", CompanyName, Website, FirsttName, LastName, JobTitle, Phone, Email, Solution, Notes, ContactOwner, EventName);
File.AppendAllText(filename, lineToBeAdded + Environment.NewLine);
}
我的问题是,在变量 NOTES 中,用户在他们的描述中使用了逗号,这弄乱了 csv 的结构。
如何强制忽略此字符串中的逗号?
解决方案
要在双引号中转义逗号扭曲每列,要转义双引号,请使用 2 个双引号而不是每个:
string lineToBeAdded = string.Format("\"{0}\",\"{1}\",\"{2}\",\"{3}\",\"{4}\",\"{5}\",\"{6}\",\"{7}\",\"{8}\",\"{9}\",\"{10}\"",
CompanyName.Replace("\"","\"\""),
Website.Replace("\"","\"\""),
FirsttName.Replace("\"","\"\""),
LastName.Replace("\"","\"\""),
JobTitle.Replace("\"","\"\""),
Phone.Replace("\"","\"\""),
Email.Replace("\"","\"\""),
Solution.Replace("\"","\"\""),
Notes.Replace("\"","\"\""),
ContactOwner.Replace("\"","\"\""),
EventName.Replace("\"","\"\""));
推荐阅读
- android - Gradle:DSL 元素“useProguard”已过时,将很快被删除
- ios - 使用 CoreBluetooth CBL2CAPChannel 移动数据
- java - 如何单击具有输入类型和值的按钮?
- jquery - 如何使用jQuery ajax 重新加载用户不知道的页面是正在重新加载的页面?
- html - CSS样式表第一次没有链接到HTML web-dev
- android - 使用改造(pdf,ppt,png,jpg)“code = 500,内部服务器错误”上传文件有什么问题
- android - 如何绑定具有多个 IN 值的 SQL 语句?
- android - 如何使用导航视图
- c# - Net Core:用于数据检查的私有成员和数据注释之间的区别
- razorpay - 如何通过razorpay api取消特定用户(最终用户)的订阅