我有以下格式的字符串:
"object": "Board-f330c10a-a9eb-4253-b554-43ed95c87242"
我想从中提取guid。我试图这样做:
Guid.Parse(followActivity.Object.Split('-').Skip(1).FirstOrDefault());
,但仅占用guid字符串的第一部分。如何提取整个GUID?
任何人都可以帮忙。
答案 0 :(得分:4)
如果每个输入都遵循与Board-
相同的模式,请尝试类似this Example的事情:
string complexGuid = "Board-f330c10a-a9eb-4253-b554-43ed95c87242";
string extractedGuid = complexGuid.Substring(complexGuid.IndexOf('-') +1 );
在给定示例中,complexGuid.IndexOf('-')
将返回'-'
的第一个索引,该索引是-
之后的Board
。我们还需要跳过该步骤,因此添加一个+1
,以便.Substring()
为您提供期望的输出。
答案 1 :(得分:2)
尝试一下
Guid.Parse(string.Join("-",followActivity.Object.Split('-').Skip(1)))
答案 2 :(得分:2)
或者只是
Guid.Parse(followActivity.Object.Replace("Board-",""));
答案 3 :(得分:1)
如果格式始终相同,则可以使用string.Split()
Guid.Parse(followActivity.Object.Split(new char[]{'-'}, 2)[1]));