Trim 包含控制字符空白的字符串

Trim a string that has control character whitespace

x = rawToChar(as.raw(c(0xa0, 0x31, 0x31, 0x2e, 0x31, 0x33, 0x32, 0x35, 0x39, 0x32)))
trimws(x) # this doesn't trim it!

我如何 trim x 或任何类似的字符串,其前导 and/or 尾随空格不是 trim 由 trimws?

披露: 这个问题是 的延续,但我被要求创建一个单独的问题。

编辑: 这是一个建议的代码,欢迎任何更优雅的解决方案

trimws2 = function(x) {
        sapply(x, FUN=function(x) {
          xraw = charToRaw(x)
          xraw[xraw==as.raw(0xa0)]=charToRaw(" ")
          trimws(rawToChar(xraw))
        })
      }
trimws2(x)

使用 stringr 包中的 str_trim

数据:

> x = rawToChar(as.raw(c(0xa0, 0x31, 0x31, 0x2e, 0x31, 0x33, 0x32, 0x35, 0x39, 0x32)))
> x
[1] " 11.132592"

然后写:

library(stringr)

str_trim(x)
[1] "11.132592"