我有一个让我很困惑的问题:如何删除以问号开头的模式?
例如:
## dataframe named test
x y
1 gffsd?lang=dfs
2 sdldfsd?lang=gsd
3 eoriwesd?lang=fh
4 eriywo?lang=asd
我想要的是:
x y
1 gffsd
2 sdldfsd
3 eoriwesd
4 eriywo
我尝试了几种方法,包括:
test$y = sapply(strsplit(test$y, '?'), head, 1)
test$y = sapply(strsplit(test$y, '?lang='), head, 1)
gsub("?",NA, test$y, fixed = TRUE)
不幸的是,所有这些都失败了。
提前致谢!
BTW,任何人都知道如何将“®”替换为“ - ”答案 0 :(得分:8)
gsub
可以使用正确的正则表达式。
test$y = gsub("\\?.*", "", test$y)
test
x y
1 1 gffsd
2 2 sdldfsd
3 3 eoriwesd
4 4 eriywo
你需要摆脱问号" \\?"和"。*"表示您要删除问号后的所有内容。
你的第二个问题也是gsub
。
string = 'anybody knows how to replace ® to -'
gsub("®", "-", string)
[1] "anybody knows how to replace - to -"