删除部分句子

时间:2016-02-17 12:07:24

标签: regex r

我已经下载了一个数据库,我想清理它。我想选择一个不必要的句子的一部分,删除它然后删除重复。

例如:

我有这个:

10 choco barres
100% pur jus Ananas
100% Pur jus d'orange avec pulpe
100% Pur jus d'orange avec pulpe

我想这样:

choco barres
pur jus Ananas
Pur jus d'orange avec pulpe

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

这取决于你要删除的内容究竟是什么样的,但是你在gsub的正确轨道上。如果您的字符串是s,那么您只需要

gsub('[0-9% ]{2,}', ' ', s)

评估为

[1] " choco barres pur jus Ananas Pur jus d'orange avec pulpe Pur jus d'orange avec pulpe"

其中[ ... ]定义要查找的一组字符,{2,}指定查找其中的两个或更多字符。

这里有很多替代方案,具体取决于您的需求。特别是空间可以采用不同的方式处理。

为了摆脱重复,分割字符串,搜索唯一字符串并将其重新粘贴在一起更容易:

paste(unique(strsplit(s, '[0-9% ]{2,}')[[1]]), collapse = ' ')

返回

[1] " choco barres pur jus Ananas Pur jus d'orange avec pulpe"

请注意,这取决于在每个字符串段的开头都有一个数字字符串,因此不如上面的gsub方法灵活。

查看the resources on the [regex] tag info page,这可以帮助您找出必要的内容。