2013-10-02 53 views
3

我試圖通過"?"在下列網址中的R替換"/?"替換「/?」從字符串

http://www-03.ibm.com/systems/fr/express/offerings/systemx_intel/?cmp=333AD&c 

因此,這將成爲:

http://www-03.ibm.com/systems/fr/express/offerings/systemx_intel?cmp=333AD&c 

我已經嘗試了不同的功能來取代它(str_replace_all。 ..)但我總是有同樣的問題,它找不到字符串"/?",因爲它是兩個特殊字符。

+0

你能展示你試過的代碼嗎? –

+0

沒有特殊字符。顯示你的代碼。 –

+2

問號是一個特殊字符,正斜槓不是。您可能需要使用反斜槓來跳過特價...我會使用'sub()'函數 –

回答

3

這是如何使用正則表達式替換功能sub在這種情況下:

x <- 'http://www-03.ibm.com/systems/fr/express/offerings/systemx_intel/?cmp=333AD&c' 
sub('/\\?','?',x) 
+0

謝謝,就是這樣! – user2506015

+0

@ user2506015,如果解決了問題,請確保點擊答案旁邊的複選標記 –

2

使用sub替換模式的第一次出現,gsub替換所有出現。

gsub('/\\?','?', x) 
3

您還可以使用subgsubfixed=TRUE參數集。這需要表示您正在搜索的模式的字符串,因爲它是,並忽略任何特殊字符。

string <- "http://www-03.ibm.com/systems/fr/express/offerings/systemx_intel/?cmp=333AD&c" 
sub("/?","?",string,fixed=TRUE) 
[1] "http://www-03.ibm.com/systems/fr/express/offerings/systemx_intel?cmp=333AD&c" 

這可能對類似情況有幫助。