R:[:punct:]包括+' s?

时间:2016-05-05 14:56:39

标签: regex r stringr

查看R regex documentation[:punct:]包含以下字符 -

标点字符:

! " #$%& ' ()* + , - 。 / :; < => ? @ [\ _] ^ _` {| }〜。

但是当我尝试在stringr::str_replace_all()中使用它时,它似乎无法检测到+

str_vec = c("c++", "c--", "c+_")
str_replace_all(str_vec, pattern = "[[:punct:]]", replacement = "_")
[1] "c++" "c__" "c+_"
str_replace_all(str_vec, pattern = "[[:punct:]]{2,}", replacement = "_")
[1] "c++" "c_"  "c+_"

是否与区域设置有关?

Sys.getlocale()
[1] "LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=en_US.UTF-8;LC_ADDRESS=en_US.UTF-8;LC_TELEPHONE=en_US.UTF-8;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=en_US.UTF-8"

还是我在这里失踪的其他东西?

0 个答案:

没有答案