c#从引号中的单词子字符串

c# substring from a word in quotes

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

surname='Smith',name="John"

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

请问有办法吗?

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

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

您可以使用 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);