我需要从一个文本转储中创建guids,这些字符串与我从Mailchp1.0导出api中获得的字符串等效。
guids是包含反斜杠\字符的所有字符串,例如,这里是(截断)其中之一:
"\"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?
发布于 2019-06-04 03:10:21
在您的guid中没有反斜杠-这些是字符串中的转义双等号:反斜杠转义它内部的"
。使用.Replace("\"","")
删除它们。
除此之外--您没有有效的GUID --里面有r
和s
--GUID由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
https://stackoverflow.com/questions/56433206
复制相似问题