标签: r string
我正在使用此命令用数字值替换字符串。这个命令对我遇到的每个字符串都运行良好;但是,它还没有替换字符串“High Display(3+)”。有没有关于这个字符串的东西使子命令不起作用,或者你认为我的数据中有某个错字(我仔细检查过,我看不到任何东西)?
my.Data$dataColumn <- sub("High Display (3+)", 2, my.Data$dataColumn)
由于
答案 0 :(得分:4)
请注意,默认情况下,sub和gsub使用基于正则表达式的替换(fixed=FALSE)。 (,)和+是特殊的正则表达式元字符,必须转义才能解析为文字字符。
sub
gsub
fixed=FALSE
(
)
+
请参阅this demo:
sub("High Display \\(3\\+\\)", 2, s)
如果替换文字字符串,请使用fixed=TRUE:
fixed=TRUE
s <- "High Display (3+)" sub("High Display (3+)", 2, s, fixed=TRUE)
请参阅R demo