我正在用黑色空格替換字符「\」。字符串消息的問題= Regex.Replace(message,「\」,「」);
這裏是字符串,
string message = "http:\/\/www.youtube.com\/v\/"
string message = Regex.Replace(message , "\\", "");
,但它不能正常工作,輸出消息假設是「http://www.youtube.com/v/」 任何人都可以請幫我,謝謝!
我正在用黑色空格替換字符「\」。字符串消息的問題= Regex.Replace(message,「\」,「」);
這裏是字符串,
string message = "http:\/\/www.youtube.com\/v\/"
string message = Regex.Replace(message , "\\", "");
,但它不能正常工作,輸出消息假設是「http://www.youtube.com/v/」 任何人都可以請幫我,謝謝!
你的字符串沒有反斜槓!
字符串中的單個反斜槓具有「轉義」下一個字符的特殊屬性。因此,您的字符串確實包含此:
字符串中的每一個反斜槓轉義下一個斜槓。這不是一個真正的反斜槓字符,因此對這個字符的搜索將不會導致任何結果。
編輯:根據我的編譯器,\/
不是一個有效的轉義序列。正斜槓沒有特殊含義,因此不能逃脫。您的字符串在技術上無效。根據你如何得到這個字符串,你有不同的選擇。字符串前的徵兆@
配售:
string message = @"http:\/\/www.youtube.com\/v\/"
將逐字查看,逃避什麼(除了關閉引號)。在這種情況下,您的字符串中會有可以替換的實際反斜槓字符。
正如在其他的答案中提到,要更換你實際需要四,像這樣一個反斜槓:
Regex.Replace(message, "\\\\", "");
你不需要逃避斜線:
string message = "http://www.youtube.com/v/";
是一個非常好的串文字。
Replace
不起作用,因爲反斜槓\
是C#的字符串文字和正則表達式中的轉義符號。因此,您需要四個反斜槓來匹配字符串中的單個反斜槓。
字符串message
不包含任何\
字符。你根本不必逃避/
個字符。
如果你想有串只是因爲它顯示,使用@
標誌:
string message = @"http:\/\/www.youtube.com\/v\/";
沒有錯在你的字符串。您可以直接使用「http://www.youtube.com/v/」作爲消息。 /不需要轉義。這是一個完全合法的性格。
如果您想使用其他特殊字符,可以使用逐字字符串文字。它以@開頭,也用雙引號括起來。
如果你想替換「/」,你可以直接使用YourString.Replace(「/」,「」)方法。
我發現問題不是,因爲我輸出它,所以字符串實際上包含「\\ /」而不是「\ /」。所以string message = Regex.Replace(message,@「\\」,「」);解決問題... – Jerry 2012-08-15 13:18:33