我正在尝试将以下网址中的"/?"
替换为"?"
与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 :(得分:3)
这是在这种情况下使用正则表达式替换函数sub
的方法:
x <- 'http://www-03.ibm.com/systems/fr/express/offerings/systemx_intel/?cmp=333AD&c'
sub('/\\?','?',x)
答案 1 :(得分:3)
您还可以将sub
或gsub
与fixed=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"
这在类似情况下可能有所帮助。
答案 2 :(得分:2)
使用sub
替换第一次出现的模式,gsub
替换所有出现的内容。
gsub('/\\?','?', x)