【问题标题】:How to remove whitespaces at the beginning of character using regexes in R? [duplicate]如何使用 R 中的正则表达式删除字符开头的空格? [复制]
【发布时间】:2015-05-13 01:57:47
【问题描述】:

有谁知道如何使用 R 中的正则表达式删除这些字符开头的空格?

 c( "bundesliga" ,                                                                                                                                                                                                              
" liga niemiecka"  ,                                                                                                                                                                                                                          
"   wyniki na żywo" )

这似乎不起作用:

lowered <- c( "bundesliga" , " liga niemiecka", "   wyniki na żywo" )
grep( x = lowered, pattern = "^\\s*(?=\\S)", value = TRUE, perl = TRUE )

   [1] "bundesliga"        " liga niemiecka"   "   wyniki na żywo"

【问题讨论】:

  • str_trim from library(stringr) 是在这里使用的方便函数。 str_trim(v1)
  • 如果您使用read.table(或任何read.xxx),您可以设置strip.white = TRUE -“允许从未引用的字符字段中去除前导和尾随空格”

标签: regex r


【解决方案1】:

你可以使用gsub:

gsub("^\\s*", "", c( "bundesliga", " liga niemiecka", "   wyniki na żywo"))
#[1] "bundesliga"     "liga niemiecka" "wyniki na zywo"

【讨论】:

    【解决方案2】:
    ^\s*(?=\S)
    

    应该这样做。替换为empty string

    ^\\s*(?=\\S) for r
    

    【讨论】:

    • 降低
    • @MarcinKosinski 也使用 perl=True 选项
    • 添加了这个选项,但仍然不起作用
    • @MarcinKosinski 如果您使用的是grep,请使用gsub
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    相关资源
    最近更新 更多