【问题标题】:Splitting with more than one delimiter使用多个分隔符进行拆分
【发布时间】:2013-06-27 20:16:32
【问题描述】:

我有这样的事情

name, definition;
name, definition;
name, definition;

在 txt 文件中

我希望名称作为键,定义作为存储在哈希表中的值

我知道如何在数组中使用一个分隔符进行拆分,但我不确定如何将两个分隔符拆分为哈希表

在c#中

【问题讨论】:

    标签: split hashtable delimiter


    【解决方案1】:

    可能是这样的:

    我实际测试的新代码而不是伪代码(它仍然可能存在错误差距,但将双分隔列表转换为字典的理论是有效的):

    public static void DoubleParse()
    {
        String input = "key1, value1; key2, value2; key3, value3;";
        input = input.Replace(" ","");
        String[] keyValues = input.Split(';');
        Dictionary<String,String> result = new Dictionary<String,String>();
        foreach(String keyValue in keyValues){
           String [] kv = keyValue.Split(',');
            if(kv.Length == 2) //make sure key and value found
                result[kv[0]] = kv[1];
        }
        foreach( KeyValuePair<String,String> kvp in result){
            Debug.WriteLine("Key is :" + kvp.Key + " for value : " + kvp.Value);
        }
    }
    

    有输出:

    Key is :key1 for value : value1
    Key is :key2 for value : value2
    Key is :key3 for value : value3
    

    【讨论】:

    • 我使用的ide没有“put”功能>.>我在使用c#时忘记提到了
    • 我认为逻辑应该还是一样的。在 c sharp 中,您可以改用 result[key] = value。
    • 我得到了这行result[kv[0]] = kv[1]; 的空引用
    猜你喜欢
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    • 2019-05-05
    • 2018-02-27
    相关资源
    最近更新 更多