gsub() 函数如何帮助替换 R 中情感分析中的转推条目

how does the gsub() function help in replacing retweet entries in sentiment analysis in R

Tgus 代码展示了如何在 R 中进行情绪分析时从推文中删除转推选项。

tweets <- searchTwitter("iPhone", n=1500, lang="en")
txt <- sapply(tweets, function(x) x$getText())
txt <- gsub("(RT|via)((?:\b\W*@\w+)+)", "", txt)

我不明白的是,在gsub ()函数中,模式

在哪里
(RT|via)((?:\b\W*@\w+)+)

来自哪里?

让我们分解一下:

(RT|via) - 匹配 "RT" 或 "via"

其他所有内容都是由 (?:) 定义的非捕获组,这意味着我们检查它是否存在,但我们不捕获它。

(?:\b\W*@\w+)+)

\b是一个单词边界

\W* 是非单词字符。 *表示匹配0个或多个

匹配一个@

\w+ 和一个或多个单词字符(字母、数字、连接符)

+ 在非捕获组之外意味着可以有多个非捕获组。

基本上你匹配 "via" 或 "RT" 并删除它(通过 "" 空白你正在替换捕获的文本),并匹配但不捕获后面的所有其他内容

使用非捕获组,因此您可以匹配字符串中不同位置的 "RT" 或 "via"。 \b\W*@\w+ 确保您在 "RT" 或 "via" 之后匹配 Twitter 用户名。这应该有助于避免在未用作实际转推时替换 "RT" 或 "via"。