我有一个txt文件,该文件的行以一个随机字符开头,后跟7个数字,如下所示:
我想从每一行复制前8个字符,并存储它们,以制作一个仅包含起始字符所需部分的txt文件。
我发现Substring方法可以工作,我只是不知道如何用它们来制作数组。
如果有人可以帮助我,那将对我有很大帮助。
谢谢!
答案 0 :(得分:6)
查询时,请尝试使用 Linq :
using System.IO;
using System.Linq;
...
string[] result = File
.ReadLines(@"c:\MyFile.txt")
//.Where(line => line.Length >= 8) // uncomment if you want to remove short lines
.Select(line => line.Length >= 8
? line.Substring(0, 8)
: line)
.ToArray();
如果要确保该行以模式(大写字母后跟7位数字)开头,则可以尝试正则表达式 :
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
...
string[] result = File
.ReadLines(@"c:\MyFile.txt")
.Select(line => Regex.Match(line, "^[A-Z][0-9]{7}"))
.Where(match => match.Success)
.Select(match => match.Value)
.ToArray();
要将日期写入文件,请使用File.WriteAllLines
:
File.WriteAllLines(@"c:\cleared.txt", result);