如何删除R中字符串末尾的双白空格?

时间:2017-04-21 19:16:02

标签: r string dplyr gsub

我正在尝试修复一些单元格。我感兴趣的列包含带有空格的字符串和开头或结尾的双白空格。

我在询问之前看过这些帖子

这是我正在做的事情的可重现的例子

library(dplyr)

mtcars2 = tbl_df(mtcars) %>% 
   mutate(name = rownames(mtcars)) %>%
   mutate(name = gsub("^ *|(?<= ) | *$", "", name, perl = TRUE)) %>%  
   mutate(name = gsub("^\\s+|\\s+$", "", name)) %>%
   mutate(name = iconv(name, from = "", to = "ASCII//TRANSLIT", sub = ""))

head(mtcars2, 3)

结果是

# A tibble: 3 × 12
    mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb          name
  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>         <chr>
1  21.0     6   160   110  3.90 2.620 16.46     0     1     4     4     Mazda RX4
2  21.0     6   160   110  3.90 2.875 17.02     0     1     4     4 Mazda RX4 Wag
3  22.8     4   108    93  3.85 2.320 18.61     1     1     4     1    Datsun 710

但是在我的数据集之后,一些双白空间仍然存在!!

是否有更通用的命令来删除字符串末尾的空格?非常感谢提前!

1 个答案:

答案 0 :(得分:5)

您是否尝试过trimws()功能?

> trimws('   hello   ')
[1] "hello"