ID EN
String Functions

trimws

R Base 3.6.2

Remove leading and/or trailing whitespace from character strings.

Syntax

R
trimws(x, which = c("both", "left", "right"), whitespace = "[ \t\r\n]")

Arguments

Parameter Description
x a character vector
which a character string specifying whether to remove both leading and trailing whitespace (default), or only leading ("left") or trailing ("right"). Can be abbreviated.
whitespace a string specifying a regular expression to match (one character of) “white space”, see Details for alternatives to the default.

Details

Internally, sub(re, "", *, perl = TRUE), i.e., PCRE library regular expressions are used. For portability, the default ‘whitespace’ is the character class [ \t\r\n] (space, horizontal tab, carriage return, newline). Alternatively, [\h\v] is a good (PCRE) generalization to match all Unicode horizontal and vertical white space characters, see also https://www.pcre.org.

Examples

Example
R
# NOT RUN {
x <- "  Some text. "
x
trimws(x)
trimws(x, "l")
trimws(x, "r")

## Unicode --> need "stronger" 'whitespace' to match all :
tt <- "text with unicode 'non breakable space'."
xu <- paste(" \t\v", tt, "\u00a0 \n\r")
(tu <- trimws(xu, whitespace = "[\\h\\v]"))
stopifnot(identical(tu, tt))
# }