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

本文关键字:数组 字符串 拆分 | 更新日期: 2023-09-27 18:34:41

我正在尝试将字符串拆分为两个不同的数组。基本上,我想像这样工作:StreamReader读到这样的一行:

名称|类型|路径

并用"|"分隔"名称"、"类型"和"路径"。然后将它们添加到它们的数组中("name"转到数组"name","type"转到"type"数组,将"path"添加到"path"数组(,但我想不出任何方法可以做到这一点。

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

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

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

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

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

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);
}