删除以" @"开头的所有单词从一个字符串

时间:2014-03-24 16:31:58

标签: r

如何删除所有以" @"开头的单词?从字符串?

例如, " @AgnezMo On @AirAsia空中客车A320-216舰队与@NinetologyMY Livery - 9M-AHG cc:@AgnesMonicaEnt @agnezone http://t.co/hfXwUQq2Oq"

我想要字符串 "空中客车A320-216舰队与制服 - 9M-AHG cc:http://t.co/hfXwUQq2Oq"

5 个答案:

答案 0 :(得分:12)

尝试使用s作为输入:

gsub("@\\w+ *", "", s)

,并提供:

"On Airbus A320-216 Fleet with Livery -- 9M-AHG cc: http://t.co/hfXwUQq2Oq"

答案 1 :(得分:1)

here所述,您可以通过sub来电使用正则表达式。

与之匹配的正则表达式为:@\w+\s+

答案 2 :(得分:0)

你可以这样做:

xx <-  "@AgnezMo On @AirAsia Airbus A320-216 Fleet with @NinetologyMY Livery -- 9M-AHG cc: @AgnesMonicaEnt @agnezone http://t.co/hfXwUQq2Oq"
gsub("@([a-zA-Z0-9]|[_])*", "", xx)

## [1] " On  Airbus A320-216 Fleet with  Livery -- 9M-AHG cc:   http://t.co/hfXwUQq2Oq"

答案 3 :(得分:0)

假设str是字符串,

> gsub("@[A-Za-z]+ ", "", str)
# [1] "On Airbus A320-216 Fleet with Livery -- 9M-AHG cc: http://t.co/hfXwUQq2Oq"

答案 4 :(得分:0)

我会使用字符串包中的str_replace_all函数的字符类:

usercomment <- c("@AgnezMo On @AirAsia Airbus A320-216 Fleet with @NinetologyMY Livery -- 9M-AHG cc: @AgnesMonicaEnt @agnezone")

library(stringr)
test <- str_replace_all(usercomment,"[:punct:]","")
test

您还可以使用or运算符将不同的字符类串在一起,这样就可以用一行替换字符和空格。请查看下面的代码,修改数据框的列名以进行清理:

> colnames(order_table) <- str_replace_all(colnames(order_table),"[:punct:]|[:space:]","")