将字符串拆分为不同的数组

时间:2016-02-16 06:03:06

标签: c#

我试图将一个字符串拆分成两个不同的数组。基本上,我想这样工作:StreamReader读取这样一行:

  

名称|类型|路径

并分隔" name"," type"和"路径"通过' |'。然后将它们添加到它们的数组中("名称"转到数组"名称","键入"到"键入"数组和&#34 ;路径"到"路径"数组),但我想不出有任何办法。

最好我希望这三个数组保留在数组列表中。

2 个答案:

答案 0 :(得分:0)

如果你有一个流阅读器,你可能想要这样:

List<char> chars = new List<char> ();

List<string> names = new List<string>();
List<string> types = new List<string>();
List<string> paths = new List<string>();

int index = 1;
while (streamReader.Peek() >= 0)
{
  char ch = (char)reader.Read();

  if (ch == '|')
  {
    switch(index)
    {
      case 1: names.Add( new String(chars.ToArray()));
      case 2: types.Add( new String(chars.ToArray()));
      case 3: paths.Add( new String(chars.ToArray()));
    }

    index = (index==3? 1: index+1);
    chars.Clear ();
    continue;
  }

  chars.Add(ch);
}

答案 1 :(得分:0)

你应该试着希望它能解决你的问题

var yourstring = "name|type|path";
string[] yourarrayname = yourstring.Split('|');
var name = yourarrayname[0];
var type=yourarrayname[1];
var path = yourarrayname[2];