Skip to content

Pad a string to a fixed width, so that str_length(str_pad(x, n)) is always greater than or equal to n.

Usage

str_pad(
  string,
  width,
  side = c("left", "right", "both"),
  pad = " ",
  use_width = TRUE
)

Arguments

string

Input vector. Either a character vector, or something coercible to one.

width

Minimum width of padded strings.

side

Side on which padding character is added (left, right or both).

pad

Single padding character (default is a space).

use_width

If FALSE, use the length of the string instead of the width; see str_width()/str_length() for the difference.

Value

A character vector the same length as stringr/width/pad.

See also

str_trim() to remove whitespace; str_trunc() to decrease the maximum width of a string.

Examples

rbind(
  str_pad("hadley", 30, "left"),
  str_pad("hadley", 30, "right"),
  str_pad("hadley", 30, "both")
)
#>      [,1]                            
#> [1,] "                        hadley"
#> [2,] "hadley                        "
#> [3,] "            hadley            "

# All arguments are vectorised except side
str_pad(c("a", "abc", "abcdef"), 10)
#> [1] "         a" "       abc" "    abcdef"
str_pad("a", c(5, 10, 20))
#> [1] "    a"                "         a"           "                   a"
str_pad("a", 10, pad = c("-", "_", " "))
#> [1] "---------a" "_________a" "         a"

# Longer strings are returned unchanged
str_pad("hadley", 3)
#> [1] "hadley"