从字符串中提取 GUID。我该怎么做?

Extract a GUID from a string. How can I do it?

我有一个这种格式的字符串:

"object": "Board-f330c10a-a9eb-4253-b554-43ed95c87242"

我想从 it.I 中提取 guid 是这样尝试的:

Guid.Parse(followActivity.Object.Split('-').Skip(1).FirstOrDefault());

但它只需要 guid 字符串的第一部分。如何提取整个 guid?

谁能帮忙。

如果格式始终相同,您可以使用 string.Split()

Guid.Parse(followActivity.Object.Split(new char[]{'-'}, 2)[1]));

尝试类似 this Example 的方法,如果每个输入都遵循相同的模式,例如 Board-:

string complexGuid = "Board-f330c10a-a9eb-4253-b554-43ed95c87242";
string extractedGuid = complexGuid.Substring(complexGuid.IndexOf('-') +1 );

此处 complexGuid.IndexOf('-') 将 return '-' 的第一个索引,即给定示例中 Board 之后的 -。我们还需要跳过它,所以添加一个 +1 以便 .Substring() 将为您提供预期的输出。

试试这个

 Guid.Parse(string.Join("-",followActivity.Object.Split('-').Skip(1)))

或者只是

Guid.Parse(followActivity.Object.Replace("Board-",""));