Regex r代码删除包含@

Regex r代码删除包含@,regex,r,gsub,Regex,R,Gsub,我想用一个特定的单词替换包含符号@的所有单词。我使用gsub,因此将其应用于字符向量。不断出现的问题是,当我使用: gsub(".*@.*", "email", data) 该部分字符向量中的所有文本都将被删除 有多封不同长度的电子邮件,所以我不能将前面的字符和后面的字符设置为特定的数字 有什么建议吗 我读过很多关于regex的书,但我尝试的一切都失败了 下面是一个例子: data要将字符串替换为R中嵌入的“@”,您可以使用(将@factor的图案转换为R) 数据您可以使用以下内容 gsub

我想用一个特定的单词替换包含符号@的所有单词。我使用gsub,因此将其应用于字符向量。不断出现的问题是,当我使用:

gsub(".*@.*", "email", data) 
该部分字符向量中的所有文本都将被删除

有多封不同长度的电子邮件,所以我不能将前面的字符和后面的字符设置为特定的数字

有什么建议吗

我读过很多关于regex的书,但我尝试的一切都失败了

下面是一个例子:


data要将字符串替换为R中嵌入的“@”,您可以使用(将@factor的图案转换为R)


数据您可以使用以下内容

gsub('\\S+@\\S+', 'email', data)
说明


\S
匹配任何非空白字符。因此,这里我们匹配任何非空白字符(
1
或更多次),前面是
@
,后面是任何非空白字符(
1
或更多次)

欢迎使用堆栈溢出!请考虑包括一个小的,以便我们能更好地理解和更容易回答你的问题。<代码> */Cuth>匹配所有字符,也许你想要< >代码> [^ s] *@ [^ s] *< /代码>如果你只想替换“@”符号,只要使用<代码> gSub(“@”,“email”,数据)
否则,与模式匹配的任何其他内容也将被替换。@user3772674添加新信息时,最好编辑原始问题,而不是在注释中添加其他信息。您不需要
perl=t
here=)@user3772674很高兴我能提供帮助。
gsub('\\S+@\\S+', 'email', data)