【发布时间】:2012-05-04 21:00:56
【问题描述】:
如何从R中的字符串中删除所有特殊字符并用空格替换它们?
要删除的一些特殊字符是:~!@#$%^&*(){}_+:"<>?,./;'[]-=
我尝试使用[:punct:] 模式使用regex,但它只删除标点符号。
问题 2:以及如何从外语中删除字符,例如:â í ü Â á ą ę ś ć?
答案:在regex 或regexpr 函数中使用[^[:alnum:]] 删除~!@#$%^&*(){}_+:"<>?,./;'[]-= 并使用[^a-zA-Z0-9] 删除â í ü Â á ą ę ś ć。
基础 R 中的解决方案:
x <- "a1~!@#$%^&*(){}_+:\"<>?,./;'[]-="
gsub("[[:punct:]]", "", x) # no libraries needed
【问题讨论】:
-
“特殊字符”的定义是什么?
-
我自己的定义是所有非 Unicode 字符 ;-)。但我想很多其他人会不同意。
-
不妨看看
sub或gsub函数。 -
正则表达式 [:punct:] 将完成一半或全部工作