このファイルを正規表現で分割する方法を知っている人はいますか
1 TESTAAA SERNUM A DESCRIPTION
2 TESTBBB ANOTHR ANOTHER DESCRIPTION
3 TESTXXX BLAHBL
各列の長さ
{id} {firsttext} {serialhere} {description}
4 22 6 30+
このように、すべての値を string[] に格納する正規表現を使用することを計画しています。
using (StreamReader sr = new StreamReader("c:\\file.txt"))
{
string line = string.Empty;
string[] source = null;
while ((line = sr.ReadLine()) != null)
{
source = Regex.Split(line, @"(.{4})(.{22})(.{6})(.+)", RegexOptions.Singleline);
}
}
しかし、私には2つの問題があります。
- 分割により、6 つの要素 source[0] = "" および source[5] ="" が作成されます。ご覧のとおり、1 行に 4 つの要素 (列) しかありません。
- 4 番目の列がある 3 行目の場合、空白がある場合はその位置が作成されますが、空白がない場合はこの列が失われます。
したがって、正規表現または別のソリューションで分割するための最良のパターンまたはソリューションは、それを評価することになります!!! 固定幅で分割したい。ありがとう。