【发布时间】:2017-09-03 19:15:23
【问题描述】:
我有一个包含字母数字字符、特殊字符和非 UTF-8 字符的字符串。我想去掉特殊字符和非 utf-8 字符。
这是我尝试过的:
gsub('[^0-9a-z\\s]','',"�+ Sample string here =�{�>E�BH�P<]�{�>")
但是,这会删除特殊字符(标点符号 + 非 utf8),但输出中没有空格。
gsub('/[^0-9a-z\\s]/i','',"�+ Sample string here =�{�>E�BH�P<]�{�>")
结果有空格,但仍然存在非 utf8 字符。
有什么解决办法吗?
对于上面的示例字符串,输出应该是: 此处为示例字符串
【问题讨论】:
-
你是不是想得到
trimws(gsub('[^0-9A-Za-z ]','',"�+ Sample string here =�{�>E�BH�P<]�{�>")) -
[^A-z0-9 ]更简洁 @akrun。但是,这会留下“此处的示例字符串 EBHP]” -
[A-z]不仅匹配字母。