String path = "C:\Abc\Omg\Why\Me\\\\\\\\\\\\\\\\\\\\\"
轉換成
String path = "C:\Abc\Omg\Why\Me\"
。
我的做法是先reverse
的string
然後刪除所有的"\"
,直到我們得到第一char
和reverse
一遍。
如何在C#中做到這一點,是有這樣的操作的任何方法?
String path = "C:\Abc\Omg\Why\Me\\\\\\\\\\\\\\\\\\\\\"
轉換成
String path = "C:\Abc\Omg\Why\Me\"
。
我的做法是先reverse
的string
然後刪除所有的"\"
,直到我們得到第一char
和reverse
一遍。
如何在C#中做到這一點,是有這樣的操作的任何方法?
您可以使用Path
靜態類只是構建路徑:
string path = Path.GetFullPath(@"C:\Abc\Omg\Why\Me\\\\\\\\\\\\\\\\\\\\\");
此操作後,變量path
將包含最低版本:
C:\Abc\Omg\Why\Me\
謝謝@Zoran人應該只使用這個路徑。 –
您可以使用path.TrimEnd('\\')
。查看String.TrimEnd
的文檔。
如果你想在結尾的斜線,你可以將其添加回輕鬆。
你不應該把文件路徑爲簡單的字符串。您應該依賴.NET Framework對文件路徑的支持,因爲它知道它更好。例如,誰說分段分隔符是反斜槓?這是系統設置。 –
@ZoranHorvat適用於某些簡單的情況下,這個工程。 –
使用'Path'類同樣簡單。 –
var path = @"C:\Abc\Omg\Why\Me\\\\\\\\\\\\\\\\\\\\\";
path = path.TrimEnd('\\') + '\\';
另一種解決方案是
var path = @"C:\Abc\Omg\Why\Me\\\\\\\\\\\\\\\\\\\\\";
path = Path.GetFullPath(path);
無需操縱字符串。 .NET Framework已經對文件路徑有廣泛的支持。 –
同意。在這種情況下,您的解決方案更加優雅。但是,如果Pranay想要刪除另一個字符串中的另一個字符呢? –
當它到達路徑時並不那麼簡單。例如,'Path'類定義了路徑分隔符。當我們將這些代碼編譯成一個UWP應用程序,然後每隔一段時間接收一個正斜槓而不是反斜槓時,會發生什麼?更好地堅持強壯的類型,讓框架和操作系統儘自己的一份力量。 –
您還可以使用正則表達式如下刪除多個斜線:
string path= @"C:\Abc\Omg\Why\Me\\\\\\\\\\\\\\\\\\\\\";
path = Regex.Replace(path, "\\\\{2,}", @"\");
我想你'字符串路徑= @「C:\美國廣播公司\ OMG \爲什麼\我\\\\\\\\\ \\\\\\\\\\\\「;' –