【问题标题】:how to delete all English words, except special punctuation, in R如何在R中删除所有英文单词,除了特殊标点符号
【发布时间】:2016-02-15 19:43:26
【问题描述】:

我在 R 中有一个数据文件,

data <- "conflict need resolved :<  turned conversation exchange ideas richer environment one tricky concepts :D    conflict  always top business agendas :>  maybe different ideas opinions different :)" 

从此我想删除所有单词,只有微笑会出现,以及我期待的输出,

":< :D :> :)"

R 中是否有任何库或方法可以轻松完成这项任务?

【问题讨论】:

标签: regex r text-mining data-cleaning


【解决方案1】:

您可以使用[[:alnum:]] 作为字符串中所有数字和字母数字字符的正则表达式模式

s <- gsub("[[:alnum:]]*", "", "conflict need resolved :<  turned conversation exchange ideas richer environment one tricky concepts :D    conflict  always top business agendas :>  maybe different ideas opinions different :) ")
gsub(" +", " ", s)

[1] " :< : :> :) "

【讨论】:

  • 或者只是'[a-z]',只要没有其他大写字母,D 就会保留在:D 中。
  • 非常感谢@HubertL,问题解决了。 stri_replace_all_regex(data,"[[:alnum:]]", "", vectorize_all = F)
  • [:alnum:] 更好,[a-z] 在数据中产生了一些噪音。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-31
  • 1970-01-01
  • 2018-11-29
  • 2011-08-16
相关资源
最近更新 更多