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"。
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"。