stringr v1.1.0


Monthly downloads



by Hadley Wickham

Simple, Consistent Wrappers for Common String Operations

A consistent, simple and easy to use set of wrappers around the fantastic 'stringi' package. All function and argument names (and positions) are consistent, all functions deal with "NA"'s and zero length vectors in the same way, and the output from one function is easy to feed into the input of another.



Travis-CI Build Status Coverage Status CRAN_Status_Badge

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


To get the current released version from CRAN:


To get the current development version from github:

# install.packages("devtools")


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

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

Functions in stringr

Name Description
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.
No Results!

Last month downloads


License GPL-2
VignetteBuilder knitr
RoxygenNote 5.0.1
LazyData true
NeedsCompilation no
Packaged 2016-08-19 14:42:23 UTC; hadley
Repository CRAN
Date/Publication 2016-08-19 21:02:58

Include our badge in your README