【问题标题】:c# substring from a word in quotesc# 引号中单词的子字符串
【发布时间】:2021-03-17 22:15:06
【问题描述】:

我正在尝试使用子字符串从字符串中获取值:

surname='Smith',name="John"

我基本上想使用文本“name”和引号来获取值“John”..

请问有什么办法吗?

【问题讨论】:

  • 使用.Split()
  • 到目前为止你尝试了什么?

标签: c# substring quotes


【解决方案1】:

您可以使用 linq 查询来获取名称

   var query = @"surname='Smith',name = \""John\""";

        var name = query
            .Split(',')
            .Select(s => new KeyValuePair<string, string>(
                s.Split('=').GetValue(0).ToString().Trim(),
            s.Split('=').GetValue(1).ToString().Trim()
        )) 
        .FirstOrDefault(kvp => kvp.Key == "name").Value;

        Console.WriteLine(name);

【讨论】:

    【解决方案2】:

    有很多方法可以做到这一点。 那是一个:

    char[] quotes = { '\'', '\"' };
    string input = "surname='Smith',name=\"John\"";
    string[] sections = input.Split(',');
    
    for (int i = 0; i < sections.Length; i++)
    { 
        string[] pair = sections[i].Split('=');
        
        if (pair[0] == "surname")
            Debug.WriteLine("surname=" + pair[1].Trim(quotes));
    
        if (pair[0] == "name")
            Debug.WriteLine("name=" + pair[1].Trim(quotes));
    }
    

    【讨论】:

      猜你喜欢
      • 2016-03-10
      • 2022-12-18
      • 2020-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      相关资源
      最近更新 更多