如何在没有 Regex 或 Linq 的情况下拆分字符串但将引号内的文本保持在一起

How can I split a string but keep text within quotes together without Regex or Linq

我想拆分一个字符串并将文本放在引号内,这样我就可以在命令行中正确解析参数。但是,COSMOS 不支持 Regex 和 Linq。

我需要一些方法来拆分字符串,如下所示:

This is "a very" important string "doing string things"

放入包含以下内容的数组:

{"This", "is", "a very", "important", "string", "doing string things"}

我能找到的最接近解决我问题的方法是 this answer. 但是,我不知道如何将其转换为数组,因为我不知道如何使用 IEnumerals。

我首先拆分 " 然后 trim 最后使用不在 " " 中的模式拆分然后将它们添加到列表字符串

public string[] toArr(string word){
    List<string> result=new List<string>();
    var split1=word.Split('"');
    for(int i=0 ; i<split1.Length ;i++){
        split1[i]=split1[i].Trim();
    }
    for(int i=0;i<split1.Length;i++){
        if(i%2==0){
            var split2=split1[i].Split(' ');
            foreach(var el in split2){
                result.Add(el);
            }
        }
        else{
            result.Add(split1[i]);
        }

    }
    string[] arr=new string[result.Count];
    for(int i=0;i<result.Count;i++){
        arr[i]=result[i];
    }
    return arr;

}