我需要根据从Mailchimp 1.0导出api获得的文本转储中的字符串等效项来创建Guid。
guid是所有包含反斜杠\字符的字符串,例如,此处是(截断)其中之一: “ \” 9ffd2c3-6er456ds \“”
当我将guid传递给以下方法时,然后尝试Guid.TryParse
时没有任何作用。
string[] values = sub.Split(',');
string rawguid = values[3];
var guid = rawguid.Replace("\\", "");
var tguid = rawguid.Trim();
var sguid = rawguid.Normalize().ToString();
如何正确将这些Guid字符串解析为Guid?
答案 0 :(得分:6)
您的GUID中没有反斜杠-字符串内的转义双引号:反斜杠转义了"
。使用.Replace("\"","")
删除它们。
此外-您没有有效的GUID-里面有 r
和 s
-指南由32位数字组成,使用仅0-9a-fA-F
。
使用Guid.ParseExact的示例:
using System;
public class Program
{
public static void Main()
{
var guid = Guid.ParseExact(
"\"ab9ffd2c3-6e456daaaaaaaaaaaaaaaaa\"" // guid with masked " inside
.Replace("-","") // remove all - for N
.Replace("\"",""), "N"); // remove all \" as well
Console.WriteLine( guid );
}
}
获取已解析的Guid:
ab9ffd2c-36e4-56da-aaaa-aaaaaaaaaaaa