【问题标题】:Remove extra spaces from entire sentence [duplicate]从整个句子中删除多余的空格[重复]
【发布时间】:2020-01-15 03:55:44
【问题描述】:

我有以下变量

sen <- "I have a    sentence  "

我只想从上面的句子中删除空格(所有空格,开头和中间),我知道如何使用str_trim(sen),但这只会删除开头和结尾的空格。我也想摆脱中间

必填输出“我有一句话”

【问题讨论】:

  • gsub(" ","","I have a sentence ")
  • 谢谢你的帮助,但这是否只删除多余的空格而不是所有空格?
  • 不,这会删除所有空格,因为在您的问题中您提到了all of spaces
  • 对不起,我的意思是删除所有多余的空格,很抱歉造成混乱
  • 同意,您在 Question 中的写作方式令人困惑

标签: r string trim stringr


【解决方案1】:

你很幸运,因为在 stringr 包 str_squish() 中有完全相同的函数

这应该做你想要实现的目标

library(stringr)
sen <- "I have a    sentence  "
str_squish(sen)
print(sen)

输出:“我有一句话”

【讨论】:

    【解决方案2】:

    我们可以使用gsub 将多个空格替换为一个空格。我们将其包装在 trimws 中以删除字符串开头和结尾的空格。

    trimws(gsub("\\s+", " ", sen))
    #[1] "I have a sentence"
    

    【讨论】:

    • 谢谢,我的正则表达式不是很强,任何有用的指南
    • @Artika regular-expressions.info 似乎是一个很好的资源。
    猜你喜欢
    • 2017-10-31
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 2014-06-14
    • 1970-01-01
    • 2017-12-16
    • 2016-05-19
    相关资源
    最近更新 更多