我有一个要存储在C#中两个不同变量中的字符串。
s= "Name=team1; ObjectGUID=d8fd5125-b065-48cb-b5f3-c20f509b7476"
我想要Var1 = team1&Var2 = d8fd5125-b065-48cb-b5f3-c20f509b7476
这是我想做的事情:
var1 = s.Replace("Name=","").Replace("; ObjectGUID=", "");
但是我不知道如何将Name值分为var1并消除其余部分。而且“名称”的值可能会有所不同,因此我无法确定要截断的长度。
您可以使用正则表达式,其中的值Name
可以在组1中被捕获,而不是;
使用否定字符类来匹配。
ObjectGUID
可以使用与数字0-9或字符af匹配1+倍的重复模式在组2中捕获的值。然后重复该模式1+次,然后加上一个-
Name=([^;]+); ObjectGUID=([a-f0-9]+(?:-[a-f0-9]+)+)
例如:
string pattern = @"Name=([^;]+); ObjectGUID=([a-f0-9]+(?:-[a-f0-9]+)+)";
string s= "Name=team1; ObjectGUID=d8fd5125-b065-48cb-b5f3-c20f509b7476";
Match m = Regex.Match(s, pattern);
string var1 = m.Groups[1].Value;
string var2 = m.Groups[2].Value;
Console.WriteLine(var1);
Console.WriteLine(var2);
结果
team1
d8fd5125-b065-48cb-b5f3-c20f509b7476
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句