【发布时间】:2017-03-05 20:54:20
【问题描述】:
我已经查看但未能找到可以解决我的问题的教程。也许我没有正确地用词我的搜索。无论如何,我在这里。
我接管了一家杂工公司,他有大约 150 名客户。他购买了一个程序,为他的客户制作唱片。我有记录,但他不会把这个程序卖给我,因为它是商业的,而且他害怕因为出售类似的东西而入狱......无论如何......它们都写在一个文本文件中。格式似乎是:
string name
string last_job_description
int job_codes
string job_address
string comments
文本文件如下所示
*Henderson*
*Cleaned gutters, fed the lawn, added mulch to the front flower beds,
cut the back yard, edged the side walk, pressure washed the driveway*
*04 34 32 1 18 99 32 22 43 72 11 18*
*123 Anywhere ave*
*Ms.always pays cash no tip. Mr. gives you a check but always tips*
好吧..我的问题是在 C# 中我想编写一个程序来编辑这些记录,添加新客户并删除一些我可能会丢失、移动或死亡的...但是第二个条目有时会超过两行3 和 4 行。它们都以 * 开头和结尾。那么,如何读取 2 到 4 行并将它们放入 last_job_description 字符串变量中?我可以写课程,我可以读行,我可以去掉星号。在将多行读入单个变量时,我什么也找不到。
【问题讨论】:
-
您必须分别阅读每一行,然后根据第一行的样子(如果它有足够的星号),您必须决定是阅读下一行并追加还是停止。 .NET 中的文本阅读器没有读取多行的方法,除了 ReadToEnd 或类似的,所以你只需要自己阅读这些行,一次一个。
-
或者你可以看看 nuget 上是否有一个 CSV 导入库可以处理数据中的换行符。
-
使用 File.ReadAllLines
-
您可以使用 File.ReadAllText 将整个文件读入
stringmsdn.microsoft.com/en-us/library/ms143368(v=vs.110).aspx -
当
'*'出现在文本中时会发生什么,它是如何转义的?