как разбить строку в текстовом файле - PullRequest
0 голосов
/ 16 декабря 2011

Текстовый файл:

$3.00,0.00,0.00,1.00,L55894M8,$3.00,0.00,0.00,2.00,L55894M9

Как разделить строку и получить серийный номер, например L55894M8 и L55894M9?

Ответы [ 5 ]

1 голос
/ 16 декабря 2011

Чтобы получить данные, которые появляются после 4-й запятой и 9-й запятой, вам нужно сделать:

var pieces = line.Split(',');
var serial1 = line[3];
var serial2 = line[8];

Редактировать: После дальнейшего изучения, похоже, что в вашем файле есть записи, начинающиеся с $ и заканчивающиеся следующей записью. Если вы хотите эти записи, вместе с серийным номером (который выглядит как последнее поле), вы можете сделать:

var records = line.TrimStart('$').Split('$');
var recordObjects = records.Select(r => new { Line = r, Serial = r.TrimEnd(',').Split(',').Last() });
0 голосов
/ 16 декабря 2011

В вашем примере вы хотите получить слова в индексе (4, 9, 14 ....)

И пять слов как участник.

Так что вы можетепопробуйте этот путь .....

    static void Main(string[] args)
    {
        string strSample = "$3.00,0.00,0.00,1.00,L55894M8,$3.00,0.00,0.00,2.00,L55894M9";
        var result = from p in strSample.Split(',').Select((v, i) => new { Index = i, Value = v })
                     where p.Index % 5 == 4
                     select p.Value;

        foreach (var r in result)
        {
            Console.WriteLine(r);
        }

        Console.ReadKey();
    }
0 голосов
/ 16 декабря 2011

Попробуйте регулярное выражение.

 string str = "$3.00,0.00,0.00,1.00,L55894M8,$3.00,0.00,0.00,2.00,L55894M9";
 string pat = @"L[\w]+";

 MatchCollection ar=  Regex.Matches(str, pat);

 foreach (var t in ar)
     Console.WriteLine(t);
0 голосов
/ 16 декабря 2011
var str = "$3.00,0.00,0.00,1.00,L55894M8,$3.00,0.00,0.00,2.00,L55894M9";
var fieldArray = str.Split(new[] { ',' });
var serial1 = fieldArray[4];  // "L55894M8"
var serial2 = fieldArray[9];  // "L55894M9"
0 голосов
/ 16 декабря 2011

если файл находится в строке, вы можете использовать метод .split(',') строки, а затем проверить каждый элемент полученного массива.Или возьмите каждый 5-й элемент, если этот шаблон данных виден повсюду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...