使用R中的gsub函数匹配所有非字母数字项

4

我正在使用R语言搜索原始的Twitter片段,但遇到了一些问题,例如以下非标准字母数字字符"̆ºÌøÑ"

我想使用gsub函数去除所有非[abcdefghijklmnopqrstuvwxyz0123456789]的字符。

您可以使用gsub函数指定替换那些不在[abcdefghijklmnopqrstuvwxyz0123456789]范围内的项目吗?

1个回答

9
您可以使用[^ ...]来简单地否定您的模式:
x <- "abcde🏄fgh"
gsub("[^A-Za-z0-9]", "", x)
# [1] "abcdefgh"

请注意,类[:alnum:]匹配所有给定的特殊字符。这就是为什么gsub("[^[:alnum:]]", "", x)无法工作的原因。


1
x <- "abcdeГҢвҖ ВәГҢГёГ‘fgh" gsub("^[A-Za-z0-9]", "", x) /////// иҝҷдёӘжӣҙеҘҪз”ЁпјҒ - Jon Yates
1
@user2236782:不,这只会移除一行的第一个字符,如果它是A-Za-z0-9的一部分(^标记了一行的开头;您需要使用[^...]来排除这些字符)。 - sgibb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接