【问题标题】:How to remove whitespace before and after @如何删除@前后的空格
【发布时间】:2019-04-25 01:23:44
【问题描述】:

如何删除@前后的空格?

例如,

safety@ gmail.com / ghjv@gmail.com
gjhv_mf6 @ hotmail.com,hhty @gmail.com

所需的输出将是:

safety@gmail.com / ghjv@gmail.com
gjhv_mf6@hotmail.com,hhty@gmail.com

【问题讨论】:

  • gsub(' *@ *','@','gjhv_mf6 @ hotmail.com')
  • 你领先我 25 秒 ...
  • 好吧.. 答案比 cmets 好

标签: r regex


【解决方案1】:

gsub() 应该这样做。

string_vec <- c("safety@ gmail.com / ghjv@gmail.com",
            "gjhv_mf6 @ hotmail.com,hhty @gmail.com")
gsub(" *@ *","@",string_vec)

如果您想删除所有空格(包括制表符等),请关注this question

gsub("[[:space:]]*@[[:space:]]*", "@", string_vec) 

【讨论】:

    【解决方案2】:

    另一个选项是删除"@" 前后的可选空格。

    使用@BenBolker 的数据

    gsub("\\s?@\\s?", "@", string_vec)
    #[1] "safety@gmail.com / ghjv@gmail.com"   "gjhv_mf6@hotmail.com,hhty@gmail.com"
    

    或与stringr::str_replace_all

    stringr::str_replace_all(string_vec, "\\s?@\\s?", "@")
    

    【讨论】:

    • FWIW ? (而不是 *)将仅匹配 0 或 1 个空白实例 - 不会连续匹配许多空格(但我们不知道 OP 想要什么)
    猜你喜欢
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    相关资源
    最近更新 更多