【问题标题】:R remove s at the end of each wordR 删除每个单词末尾的 s
【发布时间】:2018-01-18 03:46:45
【问题描述】:

我有以下 R 代码:

temp <- strsplit(unlist(test_data$`Product Description`), split=" ")
temp <- lapply(temp, function(x) gsub("s$", '', x))

我要做的是去掉“产品描述”列中每个单词末尾的 s。

代码的第一步完美运行,它通过为每个描述创建一个单词列表来按应有的方式拆分数据。

但是,第二步不起作用。它不会去掉's'

【问题讨论】:

    标签: r lapply text-mining gsub


    【解决方案1】:

    sub(.*)s$ 模式一起使用,然后替换为第一个捕获组。

    temp <- lapply(temp, function(x) sub("(.*)s$", '\\1', x))
    

    这里的想法是,如果模式匹配,我们将替换为最终的s 剥离。如果模式不匹配,那么sub 将只返回整个未触及的字符串。

    Demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多