我想在R中对以下列进行简单替换:
df
Songs
1 Saga (Skit) [feat. RZA
2 Revenge
3 Whatever You Want
4 What About Us
5 But We Lost It
6 Barbies
我想做两个不同的替换:
1)将“[”替换为空白
2)将“]”替换为空白
需要单独执行此操作,因为我的某些值在括号上只有1,就像Songs
列中的第一个值一样。
df[,1]<-gsub("[","",df[,1])
错误:
Error in gsub("[", "", newdf2[, 1]) :
invalid regular expression '[', reason 'Missing ']''
如何绕过这个无效的正则表达式错误?
谢谢!
答案 0 :(得分:2)
[
是元字符,因此需要进行转义
gsub("\\[|\\]", "", df$Songs)
或其他方式是
gsub("[][]", "", df$Songs)
答案 1 :(得分:2)
有时你必须在R中双重逃避。这应该可以一次性完成两个替换。
gsub("\\[|\\]", "", df$Songs)