正则表达式来字符串化 guid

本文关键字:guid 字符串 正则表达式 | 更新日期: 2023-09-27 18:36:34

我是正则表达式新手,我想将以下方法转换为正则表达式以遵循最佳实践:

public static string StringifyGUID(string strGUID)
    {
        ///TODO: Regex function
        string stringifiedGUID = Regex.Replace(strGUID, "[{}]", "");
        string stringifiedGUID2 = stringifiedGUID.Replace("-", "");
        string stringifiedGUID3 = stringifiedGUID2.ToLower();
        return stringifiedGUID3;
    }

另外,请告诉我是否有任何好的正则表达式工具可以帮助我学习。非常感谢任何帮助,谢谢!

正则表达式来字符串化 guid

这里不需要正则表达式 - 您可以使用 Guid.ParseGuid.ToString 轻松解决此问题:

public static string StringifyGuid(string s)
{
    var guid = Guid.Parse(s);
    return guid.ToString("N");
}

ToString("N")指定您只需要不带分隔符的数字,如 MSDN 中所述。

为了回答您的第二个问题,http://www.regular-expressions.info 提供了许多深入的信息和教程,可帮助您学习,而 https://regex101.com 将帮助您理解、测试和构建正则表达式。

最快的方法是将Substrin方法和StringBuilder类结合起来:

// Example of GUID to checking:
// {6F9619FF-8B86-D011-B42D-00CF4FC964FF}
var result = new StringBuilder();
result.Append(source.Substring(1, 8));
result.Append(source.Substring(10, 4));
result.Append(source.Substring(15, 4));
result.Append(source.Substring(20, 4));
result.Append(source.Substring(25, 12));
return result.ToString();

而且您不需要正则表达式来完成这个简单的任务。

不是 Dot-Net 专家,但您应该能够用一个正则表达式进行替换。

Regex.Replace(strGUID, "[{}-]+", "");