繁体   English   中英

在R中,如何在gsub中使用正则表达式[:punct:]?

[英]In R, how to use regex [:punct:] in gsub?

特定

test<-"Low-Decarie, Etienne"

我希望用空格替换所有标点符号

gsub(pattern="[:punct:]", x=test, replacement=" ")

但这会产生

"Low-De arie, E ie  e"

没有替换标点符号并删除明显随机的字母(尽管它们可能与标点符号相关联,标签为t,下一行为n)。

同意MontReal用户。

几个选项,结果相同。

在R Base中,只需加倍括号

gsub(pattern="[[:punct:]]", test, replacement=" ")

[1] "Low Decarie  Etienne"

stringr具有执行该功能的函数str_replace_all

library(stringr)
str_replace_all(test, "[[:punct:]]", " ")

或者只保留字母

str_replace_all(test, "[^[:alnum:]]", " ")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM