C# 我需要使用C中的正则表达式在两个字符串之间获得一个字符串#

C# 我需要使用C中的正则表达式在两个字符串之间获得一个字符串#,c#,regex,parsing,C#,Regex,Parsing,我有一个字符串,例如:“GamerTag”:“一个天才男孩”,“GamerTileUrl”,我一直在尝试但未能得到的是值:一个天才男孩。我需要帮助创建一个正则表达式字符串来获得一个天才男孩。谁能帮帮我 您可以使用字符串方法: string result = text.Split(':').Last().Split(',').First().Trim('"'); First/Last扩展方法可防止缺少分隔符时出现异常 这个怎么样 \:\"([^\"]+)\" 它匹配分号和开头引号,并匹配任何非

我有一个字符串,例如:
“GamerTag”:“一个天才男孩”,“GamerTileUrl”
,我一直在尝试但未能得到的是值:
一个天才男孩
。我需要帮助创建一个正则表达式字符串来获得一个天才男孩。谁能帮帮我

您可以使用字符串方法:

string result = text.Split(':').Last().Split(',').First().Trim('"');
First/Last
扩展方法可防止缺少分隔符时出现异常

这个怎么样

\:\"([^\"]+)\"
它匹配分号和开头引号,并匹配任何非引号字符,直到下一个引号。

假设s是您的字符串(此处不勾选):

如果您想要一个
Regex
解决方案,这里是:

s = "\"GamerTag\":\"A Talented Boy\",\"GamerTileUrl\"";
Regex reg = new Regex("(?<=:\").+?(?=\")");
s = reg.Match(s).Value;
s=“\'GamerTag\”:“天才男孩”,“GamerTileUrl\”;
Regex reg=新的Regex(“(?)?

这还允许您获取逗号分隔列表的其他部分。

我认为可以安全地假设您的字符串实际上比您向我们展示的字符串大,并且它包含多个键/值对?我认为这将满足您的要求:

str.Split("GamerTag:\"")[1].Split("\"")[1];

第一次拆分的目标是
“玩家代号:
并获取其之后的所有内容。第二次拆分获取
“玩家代号:”
之后该区块中第一次和第二次
“玩家代号:”
之间存在的所有内容

即使不起作用,你也应该表现出你的努力。你想解析JSON吗?然后使用JSON解析器。我想你的意思是\:\“([^\”]+)\”
var str = "\"GamerTag\":\"A Talented Boy\",\"GamerTileUrl\"";

var colonParts = str.Split(':');
if (colonParts.Length >= 2) {
    var commaParts = colonParts[1].Split(',');

    var aTalentedBoy = commaParts[0];
    var gamerTileUrl = commaParts[1];
}
str.Split("GamerTag:\"")[1].Split("\"")[1];