Learn R Programming

⚠️There's a newer version (1.5.1) of this package.Take me there.

stringr

Strings are not glamorous, high-profile components of R, but they do play a big role in many data cleaning and preparations tasks. R provides a solid set of string operations, but because they have grown organically over time, they can be inconsistent and a little hard to learn. Additionally, they lag behind the string operations in other programming languages, so that some things that are easy to do in languages like Ruby or Python are rather hard to do in R.

The stringr package aims to remedy these problems by providing a clean, modern interface to common string operations. More concretely, stringr:

  • Uses consistent functions and argument names.

  • Simplifies string operations by eliminating options that you don't need 95% of the time.

  • Produces outputs than can easily be used as inputs. This includes ensuring that missing inputs result in missing outputs, and zero length inputs result in zero length outputs.

  • Is built on top of stringi which uses the ICU library to provide fast, correct implementations of common string manipulations

Installation

To get the current released version from CRAN:

install.packages("stringr")

To get the current development version from github:

# install.packages("devtools")
devtools::install_github("hadley/stringr")

Piping

stringr provides the pipe, %>%, from magrittr to make it easy to string together sequences of string operations:

letters %>%
  str_pad(5, "right") %>%
  str_c(letters)

Copy Link

Version

Install

install.packages('stringr')

Monthly Downloads

1,172,905

Version

1.1.0

License

GPL-2

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

August 19th, 2016

Functions in stringr (1.1.0)

str_conv

Specify the encoding of a string.
str_detect

Detect the presence or absence of a pattern in a string.
modifiers

Control matching behaviour with modifier functions.
str_count

Count the number of matches in a string.
str_dup

Duplicate and concatenate strings within a character vector.
invert_match

Switch location of matches to location of non-matches.
case

Convert case of a string.
str_c

Join multiple strings into a single string.
modifier-deprecated

Deprecated modifier functions.
%>%

Pipe operator
str_replace_na

Turn NA into "NA"
str_split

Split up a string into pieces.
str_pad

Pad a string.
str_replace

Replace matched patterns in a string.
str_locate

Locate the position of patterns in a string.
str_length

The length of a string.
str_extract

Extract matching patterns from a string.
str_match

Extract matched groups from a string.
str_interp

String interpolation.
str_order

Order or sort a character vector.
str_view

View HTML rendering of regular expression match.
str_wrap

Wrap strings into nicely formatted paragraphs.
str_trim

Trim whitespace from start and end of string.
str_trunc

Truncate a character string.
str_subset

Keep strings matching a pattern.
str_sub

Extract and replace substrings from a character vector.
word

Extract words from a sentence.
stringr-data

Sample character vectors for practicing string manipulations.