文本文件中的行:如何分割文本文件
$3.00,0.00,0.00,1.00,L55894M8,$3.00,0.00,0.00,2.00,L55894M9
如何分割线,并得到像L55894M8
和L55894M9
序列号?
文本文件中的行:如何分割文本文件
$3.00,0.00,0.00,1.00,L55894M8,$3.00,0.00,0.00,2.00,L55894M9
如何分割线,并得到像L55894M8
和L55894M9
序列号?
在您的样品,你意味着想要得到词语的指数(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();
}
如果该文件是在一个字符串可以使用该字符串的.split(',')
方法然后检查所得到的数组的每个元素。或者,如果数据的模式在整个可见抓住每5个元素。
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"
要获得的第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() });
尝试正则表达式。
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);
在该行的相同点是序列号始终?他们总是第4逗号和第9逗号后发生的? –
将串行总是以L状L55894M8和L55894M9 –
请开始不要前缀您的问题以“C#”。这就是标签的用途。 –