【问题标题】:Remove everything from string but spaces, dashes and letters in R?从字符串中删除所有内容,但 R 中的空格、破折号和字母?
【发布时间】:2012-01-18 22:54:15
【问题描述】:

我正在尝试删除字符串中的所有内容,但空格破折号 (-) 和字母除外。 例如

string1 <- "test-%432string *#$ one!~+"

如何返回“测试字符串一”

我试过了: gsub("[^a-zA-Z-\s]", "", string1) 无济于事——它删除了应该留下的空间。

感谢您的帮助。

【问题讨论】:

    标签: regex r


    【解决方案1】:

    试试这个

    /[^\w\-\s]|\d/
    

    这对我有用。您可以在 rubular.com 上试用。 享受吧。

    或R形式:

    gsub("[^\\w\\-\\s]|\\d","",string1,perl = TRUE)
    [1] "test-string  one"
    

    【讨论】:

    • 关闭。这实际上不是 R 语言中的有效正则表达式,它要求您将 \ 加倍。此外,仅当您指定参数 perl = TRUE 时,这才适用于 gsub
    • 感谢你们俩,我还使用 POSIX [:space:] 摆弄了 str_replace,这也奏效了。
    猜你喜欢
    • 2014-03-01
    • 2016-12-21
    • 2012-09-02
    • 2023-03-24
    • 1970-01-01
    • 2022-09-27
    • 2017-12-28
    • 1970-01-01
    • 2017-08-08
    相关资源
    最近更新 更多