2009-06-01 98 views
2

在C#中,我需要轉換爲雙轉義的文件名(因爲我將此字符串轉換爲正則表達式)。轉換爲雙轉義字符串

換句話說,如果我有:

FileInfo file = new FileInfo(@"c:\windows\foo.txt"); 
string fileName = file.FullName; 

fileName是:c:\\\\windows\\\\foo.txt

但我需要將它轉換爲文件名中帶2字面中反斜槓\\的序列。 fileName需要爲或。 有沒有簡單的方法來進行此轉換?

回答

0

簡單而不訴諸的正則表達式這一部分:

string fileName = file.FullName.Replace(@"\", @"\\\\"); 
基於OP

,但我覺得你真的想這樣:

string fileName = file.FullName.Replace(@"\", @"\\"); 

話雖這麼說,我看不出你想要使用它...它不應該需要逃避......也許你應該發佈更多的代碼?

+0

啊,C#字符串有一個Replace方法! :)這就是訣竅。 – Drakestar 2009-06-01 02:54:46

+1

哦,我需要這個將該字符串輸入正則表達式。所以反斜槓需要逃脫。 – Drakestar 2009-06-01 03:09:33

7

我認爲你正在尋找Regex.Escape

Regex.Escape(@"c:\test.txt") == @"C:\\Test\.txt" 

通知怎麼也逃脫 ''