この問題に対する適切な正規表現のソリューションを探しています。UNC を Uri に再フォーマットしようとしています
問題:
UNC ディレクトリは Uri に再フォーマットする必要があります
\\server\d$\x\y\z\AAA
次のようにする必要があります。
この問題に対する適切な正規表現のソリューションを探しています。UNC を Uri に再フォーマットしようとしています
問題:
UNC ディレクトリは Uri に再フォーマットする必要があります
\\server\d$\x\y\z\AAA
次のようにする必要があります。
この場合、replace は Regex よりも書きやすく、理解しやすいと思います。与えられた:
string input = "\\\\server\\d$\\x\\y\\z\\AAA";
二重置換を行うことができます:
string output = String.Format("http:{0}", input.Replace("\\d$\\x\\y", String.Empty).Replace("\\", "/"));
.Net フレームワークは、変換を実行できるSystem.Uriというクラスをサポートしています。よりシンプルで、エスケープケースを処理します。Uri 形式への UNC とローカル パスの両方を処理します。
C#:
Console.WriteLine((new System.Uri("C:\Temp\Test.xml")).AbsoluteUri);
パワーシェル:
(New-Object System.Uri 'C:\Temp\Test.xml').AbsoluteUri
出力:
file:///C:/Temp/Test.xml
^(\\\\\w+)\\.*(\\\w\\\w+)$
最初の試合:\\server
2 番目の一致:\z\AAA
文字列に連結してから、http:
getの先頭に追加しますhttp:\\server\z\AAA
。に置き換え\
ます/
。