R删除每个单词末尾的s

时间:2018-01-18 03:46:46

标签: r lapply text-mining gsub

我有以下R代码:

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

我要做的是在“产品说明”中删除每个单词末尾的s。列。

代码的第一步完美无缺,它通过创建每个描述的单词列表来分割数据。

然而,第二步不起作用。它没有删除&#39;

1 个答案:

答案 0 :(得分:1)

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

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

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

Demo