2016-08-18 228 views
2

雙斜線Replce單斜槓工作不總是返回單斜線..如何在C#中將單斜槓替換爲雙斜槓?

string input; 
    input = "\r\t"; 
    string mat1= input.Replace("\\\\","\\\\\\\\"); 
    string inputt= mat1; 

如果我運行上面的代碼將返回輸出\ r \ t只....

但我需要這樣的

\ r \ t

+0

既「 \ r「和」\ t「是沒有任何斜槓的命令符號(回車符和製表符),可能你想'input = @」\ r \ t「;' –

回答

3

"\r\t"輸出其實只有兩個字符,回車和標籤。這是因爲the \ escape character is used to specify special characters

如果你想要一個字符串,實際上是"\r\t"你需要通過使用\\轉義\字符。

所以你的字符串應該是:

string mat1= input.Replace("\\","\\\\"); 

或者

string mat1= input.Replace(@"\", @"\\"); 

input = "\\r\\t"; 

或者

input = @"\r\t"; 

然後用雙反斜線來代替反斜槓

+0

當我通過輸入作爲另一個輸入字符串,如「輸入=文本;」和text =「\ t \ r」..它不工作...它會採取單斜槓.. – user6479492

+0

@ user6479492恐怕我不明白你的意思... –

+0

上午通過輸入作爲參數。沒有得到輸出.. – user6479492

0

input = "\r\t";

是一個所謂的轉義字符串。 \意味着轉義序列。如果你需要\ r \ t你需要寫

input = "\\r\\t";

0

這是2已經轉義字符,而不是4

input="\r\t"; 
0

\r\t是特殊的文字。 Check this article

\r - 回車

\t - 水平製表

你想要什麼,我GESS,就是要改變這種特殊的文字是這樣的:

string input; 
input = "\r\t"; 
input = input.Replace("\r", "\\r"); 
input = input.Replace("\t", "\\t"); 
Console.WriteLine(input); 
相關問題