使用R从文本中删除标点符号

时间:2015-03-17 12:13:58

标签: r

我需要从文本中删除标点符号。我使用的是tm包,但问题是:

例如:文本是这样的:

data <- "I am a, new comer","to r,"please help","me:out","here"

现在我跑

library(tm)
data<-removePunctuation(data)

在我的代码中,结果是:

I am a new comerto rplease helpmeouthere 

但我的期望是:

I am a new comer to r please help me out here

2 个答案:

答案 0 :(得分:17)

以下是我如何回答你的问题,以及与上述评论中@David Arenburg非常接近的答案。

 data <- '"I am a, new comer","to r,"please help","me:out","here"'
 gsub('[[:punct:] ]+',' ',data)
 [1] " I am a new comer to r please help me out here "

:[:punct:]之后的额外空格是为字符串添加空格,而+匹配正则表达式中的一个或多个连续项。这在某些情况下具有将任何空间序列缩短到单个空间的副作用。

答案 1 :(得分:0)

如果您有类似

的内容
string <- "hello,you"
> string
[1] "hello,you"

你可以这样做:

> gsub(",", "", string)
[1] "helloyou"

它取代了&#34;,&#34;用&#34;&#34;在名为string

的变量中