0

Edit Solved it people. Used a space in stringSeparators array. Updated the working code.

I have a csv file which will be used as a template to fill in values. The place holders or the contents of the file are like so:

[AccountId],[FirstName] [LastName], [Address]

Here's the code to get these place holders:

string[] stringSeparators = new string[] { separator," " };

var values = from line in File.ReadAllLines(@"Template.txt")
              select line.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);

Regards.

4

2 回答 2

0

您可以再次调用Split,例如:

File.ReadAllLines(@"Template.txt").Select(line =>
{
  var items = line.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);
  var names = item[1].Split(' ');
  return new {
     AccountId = items[0],
     FirstName = names[0],
     LastName = names[1],
     Address = items[2]
  };
});
于 2013-08-28T06:46:42.417 回答
0

它不漂亮,但这样的东西会起作用

var values = 
    from line in File.ReadAllLines(@"Template.txt")
    let v = line.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries)
    let name = v[1].Split(' ')
    select new[] {v[0], name[0], name[1], v[2]};
于 2013-08-28T06:47:09.753 回答