R:从字符串中修剪除空格以外的其他字符

hil*_*ssu 1 r

在R中,如果要从字符串末尾修剪所有空白字符,则可以进行修剪(to.be.trimmed,“ right”),如下所示:

> trimws("nauris        ", "right")
[1] "nauris"
Run Code Online (Sandbox Code Playgroud)

如果我不想修剪空格字符,而是要修剪句点(或其他字符)怎么办?在Python中,您可以这样做string.rstrip(char)。这是一些所需的输出:

> rstrip("nauris", "s")
[1] "nauri"
> rstrip("nauris.", ".")
[1] "nauris"
> rstrip("nauris....", ".")
[1] "nauris"
> rstrip("stack", "c")
[1] "stack"
Run Code Online (Sandbox Code Playgroud)

将上述句点作为最后一个参数不起作用,因为它仅返回一个空字符串:

trimws("nauris.", "right", ".")
[1] ""
Run Code Online (Sandbox Code Playgroud)

H 1*_*H 1 6

从R版本3.6.0 trimws()起,有一个空白参数,因此您可以执行以下操作:

trimws("nauris", "right", whitespace = "s")
[1] "nauri"

trimws("nauris.....", "right", whitespace = "\\.")
[1] "nauris"
Run Code Online (Sandbox Code Playgroud)

该文档指出,内部trimws()使用sub(re, "", *, perl = TRUE)特殊字符需要转义。

  • 值得一提的是,自R-3.6.0起,whitespace参数可用。 (2认同)