我正在尝试删除数据框中每列单元格中显示的字符串[start section id="20107"]
。
我已经尝试df1$Col1<- gsub("[start section id="20107"]", "", df1$Col1)
,但我收到了错误unexpected numeric constant in df1$Col1<- gsub("[start section id="20107"
,不确定我还能尝试什么,感谢任何帮助人员。
[start section id="20107"]
(11-Feb-2013 13:22 DK04)
#1 Preventive exam
#2 Mild hyperlipidemia
#3 Hyperglycemia
#4 Peripheral neuropathy
答案 0 :(得分:5)
gsub
需要正则表达式,因此[
被视为特殊的regex-char。使用fixed = TRUE
。此外,您必须使用\
转义引号,因此如果您在字符串中有\"
,请使用"
。
df1 <- data.frame(Col1 = "fdsfd [start section id=\"20107\"]")
df1$Col1<- gsub("[start section id=\"20107\"]", "", df1$Col1, fixed = TRUE)
使用fixed = TRUE
,您的搜索模式被视为“普通字符串”,而不是正则表达式。
答案 1 :(得分:2)
由于嵌套的双引号,pattern
中的gsub
搞砸了。
要么绕过数字周围的引号,要么在模式周围使用单引号。也可以使用fixed = TRUE
,因为您没有尝试匹配正则表达式而是修复模式。
gsub('[start section id="20107"]', "", df1$Col1, fixed = TRUE)