【发布时间】:2012-01-18 22:54:15
【问题描述】:
我正在尝试删除字符串中的所有内容,但空格破折号 (-) 和字母除外。 例如
string1 <- "test-%432string *#$ one!~+"
如何返回“测试字符串一”
我试过了:
gsub("[^a-zA-Z-\s]", "", string1)
无济于事——它删除了应该留下的空间。
感谢您的帮助。
【问题讨论】:
我正在尝试删除字符串中的所有内容,但空格破折号 (-) 和字母除外。 例如
string1 <- "test-%432string *#$ one!~+"
如何返回“测试字符串一”
我试过了:
gsub("[^a-zA-Z-\s]", "", string1)
无济于事——它删除了应该留下的空间。
感谢您的帮助。
【问题讨论】:
试试这个
/[^\w\-\s]|\d/
这对我有用。您可以在 rubular.com 上试用。 享受吧。
或R形式:
gsub("[^\\w\\-\\s]|\\d","",string1,perl = TRUE)
[1] "test-string one"
【讨论】:
perl = TRUE 时,这才适用于 gsub。
[:space:] 摆弄了 str_replace,这也奏效了。