我需要从文本中删除标点符号。我使用的是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
答案 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
的变量中