如何在R中从字符串中删除单引号?

10

在一个数据框中,我有类似于文本的东西

"X1" "X2"
"1" 53 "'all.downtown@enron.com'"
"2" 54 "'all.enron-worldwide@enron.com'"
"3" 55 "'all.worldwide@enron.com'"
"4" 56 "'all_enron_north.america@enron.com'"

如何从第二列的字符串中删除单引号?

3个回答

20

要替换文本,请使用(g)sub

result <- gsub("'", '', yourString)

该函数是矢量化的,因此您可以直接将其应用于数据框,而无需循环或apply
df$X2 <- gsub("'", '', df$X2)

2
 df[,2] <- gsub("'", '', df[,2], fixed=TRUE)

我认为默认是固定的,但明确说明永远不会有坏处。

抱歉,我误读了帖子的标题为“如何在R中从字符串中删除(一个)单引号?”


fixed=TRUE 不是默认值,但在这种情况下没有区别。然而,仅使用 sub 在这里行不通,OP 需要使用 gsub - Konrad Rudolph

1

我知道问题表述的不同,但他实际想要做的是展开第二列,即去掉尾部和首部的单引号。这可以通过稍微改进的正则表达式来完成:

gsub("(^')|('$)", "", df$X2)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接