删除R中的单个字符

Remove single character in R

我正在使用 R 使用阿拉伯语进行情绪分析,在清理步骤中我需要删除单个字符。 我使用这段代码删除了它们并且它有效但遇到了一些问题

例如这里是数据

R<-("للمدافعين قال شركة وطنية قلت أقنعهم يعاملوننا كمواطنينقال جودتها عالية قلت جيدة غيرها غ")

如您所见,“ú”是单个字符

gsub(" *\b[[:alpha:]]{1}\b *", "", R)
[1] "للمدافعين قال شركة وطنية قلت أقنعهم يعاملوننا كمواطنينقال جودتها عالية قلت جيدة غيرها\n"

但是当我尝试将它应用于文本列上的整个数据集时,就像这里

subdata1$text = gsub("*\b[[:alpha:]]{1}\b *", "", subdata1$text)

它没有删除任何东西,我不知道为什么?

希望你能理解我

谢谢

似乎 [:alpha:] POSIX 字符 class 不适用于您所用的所有 Unicode 字母。

我建议使用 PCRE 模式:

gsub("(*UCP)\b\p{L}\b", "", R, perl=TRUE)

这里,需要 (*UCP) 来使 \b 词边界 Unicode 感知,并且 \p{L} 匹配来自 BMP 平面的任何 Unicode 字母。要使用 PCRE 正则表达式引擎处理模式,需要 perl=TRUE 参数。