关于如何从单词之间删除额外的空格,有很多答案,这是非常简单的.但是,我发现在单词中删除多余的空格要困难得多.作为一个可重现的例子,假设我有一个如下所示的数据向量:
x <- c("L L C", "P O BOX 123456", "NEW YORK")
我想做的是这样的事情:
y <- gsub("(\\w)(\\s)(\\w)(\\s)", "\\1\\3", x)
但这让我想到了这个:
[1] "LLC" "POBOX 123456" "NEW YORK"
几乎完美,但我真的希望第二个值说"PO BOX 123456".有没有比我正在做的更好的方法呢?
你可以试试这个,
> x <- c("L L C", "P O BOX 123456", "NEW YORK")
> gsub("(?<=\\b\\w)\\s(?=\\w\\b)", "", x,perl=T)
[1] "LLC" "PO BOX 123456" "NEW YORK"
Run Code Online (Sandbox Code Playgroud)
它只是删除了两个单个字符之间存在的空间.