R新手。我正在尝试从数据框中的行的开头和结尾删除“”。如果引号不是第一个或最后一个字符,我不想删除。数据的数据框,其中每一行都是文本的数据点。
引号不是字符串,而是文本的一部分。
数据框的一行看起来像这样:
x<- '"hello world. She said, "hello again" it was a pleasant response"'
Run Code Online (Sandbox Code Playgroud)
结果应该是:
x2 <- 'hello world. She said, "hello again" it was a pleasant response"'
Run Code Online (Sandbox Code Playgroud)
我认为这会起作用:
gsub("\\n\"", "", df)
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用。有什么建议吗?
您可以像这样在字符串的末尾删除引号:
x <- gsub('"$','',x)
Run Code Online (Sandbox Code Playgroud)
从这样的字符串开始:
x <- gsub('^"','',x)
Run Code Online (Sandbox Code Playgroud)
因为字符$和^匹配字符串的结尾和开头。例如:
myData<-data.frame(foo=c('"asdf"','ASDF'),
bar=c('jkl;','"JKL;"'))
myData
#> foo bar
#>1 "asdf" jkl;
#>2 ASDF "JKL;"
# trim the quote characters from myData$foo
myData$foo <- gsub("^\"|\"$", "", myData$foo)
myData
#> foo bar
#>1 asdf jkl;
#>2 ASDF "JKL;"
Run Code Online (Sandbox Code Playgroud)