大家好我如何得到NGG - Acid
来自此字符串
"????log L 06/11/2012 - 06:45:28: \"NGG - Acid<5><STEAM_ID_PENDING><>\" connected, address \"46.49.70.30:27005\"\n\0"
我试过这个
int start = Data.ToString().IndexOf('"') + 1;
int end = Data.ToString().IndexOf('<');
return Data.ToString().Substring(start, end - start);
当用户名包含空格或符号
时,这不起作用谢谢
Update
此代码获取用户名,但有更好的解决方案:
if (Data.EndsWith("\"")) Data = Data.Substring(0, Data.Length - 1);
int start = Data.IndexOf("\"");
int end = Data.IndexOf("<");
var val = Data.Substring(start + 1, end - 1 - start);
答案 0 :(得分:1)
您的比赛将在
的第1组\\"(.*?)<
如果我们假设您所需的匹配位于\“和&lt;
之间在C#中,这变为
var c = Regex.Match(@"""????log L 06/11/2012 - 06:45:28: \""NGG - Acid<5><STEAM_ID_PENDING><>\"" connected, address \""46.49.70.30:27005\\""\n\0"""
, @"\\""(.*?)<").Groups[1].Value;
答案 1 :(得分:1)
如果你想使用正则表达式:
Match match = Regex.Match(Data, @"\\""(.+?)<\d+?><ST");
if (match.Success) {
Console.WriteLine(match.Groups[1].Value);
}