trimws {base} | R Documentation

## Remove Leading/Trailing Whitespace

### Description

Remove leading and/or trailing whitespace from character strings.

### Usage

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

### Arguments

`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

    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))

[Package base version 3.6.0 Index]