R删除字符

时间:2015-05-26 16:02:30

标签: regex r string

我有一个角色向量

var1 <- c("pine trees", "dense forest", "red fruits", "fruit's colors")

我希望所有复数形式的s都是单数形式的。想要的答案是:

  var1 <- c("pine tree", "dense forest", "red fruit", "fruit color")

如果不使用其他套餐怎么办?

由于

4 个答案:

答案 0 :(得分:3)

您可以使用gsub

gsub("s$", "", var1)

编辑:对已编辑问题的回复

我的第一个解决方案有效但不太好,在编辑完问题后,我的第一个解决方案更糟糕。也许这段代码可以解决问题。

gsub("'s|s$", "", var1)

答案 1 :(得分:2)

var1 <- c("pine trees", "dense forest", "red fruits", "fruit's colors")

gsub("'?s\\b", "", var1)

#"pine tree"    "dense forest" "red fruit"    "fruit color"

答案 2 :(得分:2)

(创建答案而不是评论。管理员 - 如果您愿意,可将其移至评论中。)

对于7个月前的同样问题,我最终得到了以下逻辑:

  1. var1中的所有字符串拆分为单独的单词,取消列出,全部删除 数值,整理一下
  2. 仅选择已结束的字词 使用s
  3. 通过两次通过列表:a)对抗一个 字典,例如enable2k查看是否存在普通拼写错误,b)手动删除以s结尾的正确单词。
  4. 当然,3b是乏味的,但它减少了“打破”好词的高度机会。

答案 3 :(得分:1)

这个怎么样?

gsub("\\'s|s$","",var1)