用于String.Split
获取string[]
列中的一个。您可以使用String.Join
将所有部分连接到一个新字符串,File.WriteAlltext
或File.WriteAllLines
将其写回。
在我阅读并删除 * 之后,我需要像 \field\ 一样替换它们:
因此,您需要将其替换*
为\
:
string[] parts = line.Split(new[] { '*' }, StringSplitOptions.RemoveEmptyEntries);
string newLine = string.Join("", parts.Select(p => string.Format("\\{0}\\", p.Trim())));
File.WriteAllText(filePath, newLine);
演示
结果:
\114765\\3\\659300\\01\\17/01/2013\\\\1\\Chuck Norris\\Chuck Norris Jr\\Owner\\1\\28/04/1983\\Conjuge\\\\\\16/1/2013\\1\\Quadro Social\\\
更新:
如果要忽略空的部分(由* *
字符串中的两个连续引起),则可以使用以下代码:
var nonEmptyParts = parts
.Where(p => !string.IsNullOrWhiteSpace(p))
.Select(p => string.Format("\\{0}\\", p.Trim()));
string newLine = string.Join("", nonEmptyParts);
这将导致:
\114765\\3\\659300\\01\\17/01/2013\\1\\Chuck Norris\\Chuck Norris Jr\\Owner\\1\\28/04/1983\\Conjuge\\16/1/2013\\1\\Quadro Social\
我想忽略数组的前 2 个字符串,你知道只需删除它,扔掉它
那就是Enumerable.Skip
:
var nonEmptyParts = parts.Skip(2)
.Where(p => !string.IsNullOrWhiteSpace(p))
.Select(p => string.Format("\\{0}\\", p.Trim()));