R-lang:如果等于引号,则删除第一个字符

2023-12-03

R新手。我正在尝试从数据框中的行的开头和结尾删除“”。如果引号不是第一个或最后一个字符,我不想删除。我不确定为什么以下内容不适用于我的数据的数据框,其中每一行都是文本的数据点。

引号并不是字符串,而是文本的一部分。

数据框的一行看起来像这样:

x<-  '"hello world. She said, "hello again" it was a pleasant response"'

结果应该是:

x2 <- 'hello world. She said, "hello again" it was a pleasant response"'

我认为这会起作用:

gsub("\\n\"", "", df)

但是,这行不通。建议?


您可以从字符串末尾修剪引号,如下所示:

x <- gsub('"$','',x)

从字符串的开头开始,如下所示:

x <- gsub('^"','',x)

自从角色$ and ^匹配字符串的结尾和开头。例如:

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;"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R-lang:如果等于引号,则删除第一个字符 的相关文章

随机推荐