-1

テキストファイル:

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

L55894M8行を分割して、やのようなシリアル番号を取得するにはどうすればよいL55894M9ですか?

4

5 に答える 5

1

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() });
于 2011-12-16T03:43:37.553 に答える
0
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"
于 2011-12-16T03:43:21.840 に答える
0

正規表現を試してください。

 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);
于 2011-12-16T03:43:54.237 に答える
0

ファイルが文字列の場合は、文字列の.split(',')メソッドを使用して、結果の配列の各要素を確認できます。または、データのパターンが全体に見られる場合は、5 番目の要素ごとに取得します。

于 2011-12-16T03:41:07.577 に答える
0

あなたのサンプルでは、​​( 4 、 9 、 14 .... )のインデックスで単語を取得したいということです

そしてパーティーとしての5つの言葉。

だからあなたはこの方法を試すことができます.....

    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();
    }
于 2011-12-16T07:17:06.213 に答える