Regex 如何使用R删除字符向量中单词之间不需要的空格?

Regex 如何使用R删除字符向量中单词之间不需要的空格?,regex,r,Regex,R,我有一个字符向量,如: "I t is tim e to g o" 我希望它是: "It is time to go" 此正则表达式适用于您的情况:“\\s(?=\\s\\s\\s{2,}|\\s$)” string使用可能会使这类任务稍微简单一些。虽然在这种情况下可能不是:) string[1]“该走了” 到目前为止,你能给我们你的代码吗?我能给你的最接近的代码是gsub(([A-Za-z])\\s(?=[A-Za-z]\\b)”,“\\1”,“现在是从e到g o的时间”,perl=TRU

我有一个字符向量,如:

"I t is tim e to g o"
我希望它是:

"It is time to go"

此正则表达式适用于您的情况:
“\\s(?=\\s\\s\\s{2,}|\\s$)”

string使用可能会使这类任务稍微简单一些。虽然在这种情况下可能不是:)

string[1]“该走了”

到目前为止,你能给我们你的代码吗?我能给你的最接近的代码是
gsub(([A-Za-z])\\s(?=[A-Za-z]\\b)”,“\\1”,“现在是从e到g o的时间”,perl=TRUE)
,虽然我似乎无法区分最后两个词,你建议用什么算法来区分想要的和不想要的空间?你如何处理一个问题需要一个答案
string <- "I t is tim e to g o"
gsub("\\s(?=\\S\\s\\S{2,}|\\S$)", "", string, perl=TRUE)

## [1] "It is time to go"
string <- "I t is tim e to g o"

library(rex)
re_substitutes(string, rex(
    space %if_next_is%
      list(
        list(non_space, space, at_least(non_space, 2)) %or%
        list(non_space, end)
      )
    ), "", global = TRUE)

#> [1] "It is time to go"