我正在寻找一个很好的紧密正则表达式解决这个问题.我正在寻求将UNC重新格式化为Uri
问题:
需要将UNC目录重新格式化为Uri
\\服务器\ d $\X\Y\Z ^\AAA
需要看起来像:
在这种情况下,我认为替换比Regex更容易编写和理解.鉴于:
string input = "\\\\server\\d$\\x\\y\\z\\AAA";
Run Code Online (Sandbox Code Playgroud)
你可以做双重替换:
string output = String.Format("http:{0}", input.Replace("\\d$\\x\\y", String.Empty).Replace("\\", "/"));
Run Code Online (Sandbox Code Playgroud)
小智 5
.Net框架支持一个名为System.Uri的类,它可以进行转换.它更简单,处理逃逸案件.它处理UNC,Uri格式的本地路径.
C#:
Console.WriteLine((new System.Uri("C:\Temp\Test.xml")).AbsoluteUri);
Run Code Online (Sandbox Code Playgroud)
电源外壳:
(New-Object System.Uri 'C:\Temp\Test.xml').AbsoluteUri
Run Code Online (Sandbox Code Playgroud)
输出:
file:///C:/Temp/Test.xml
Run Code Online (Sandbox Code Playgroud)