stringstatic
provides a reimplementation of several functions from
stringr
. These functions are
dependency free and can be copied directly into your package code using
staticimports
. This allows you
to reap the benefits of stringr
’s intuitive user interface without the
overhead of stringr
’s dependencies.
See section Pros and cons to decide whether
stringstatic
or stringr
is a better fit for your package.
You can install the development version of stringstatic
from
GitHub:
# install.packages("pak")
pak::pkg_install("rossellhayes/stringstatic")
To import functions from stringstatic
into your package, put a comment
block starting with # @staticimports pkg:stringstatic
in one of your R
source files. For example, your utils.R
file may have this at the top:
# @staticimports pkg:stringstatic
# str_replace str_replace_all
# str_subset
pkg:stringstatic
means you will import functions from the
stringstatic
package. You can find many other useful functions in
pkg:staticimports
.
Subsequent lines list the objects to import from the package. In this
case, they are str_replace()
, str_replace_all()
and str_subset()
.
To perform the import, run:
staticimports::import()
By default, this will write the functions to an R/staticimports.R
file
in your project.
stringstatic
does not depend on stringi
, which is a heavy
dependency that can increase install times if it is not already
installed.stringstatic
functions can be copied directly into your package,
meaning future breaking changes will not change functionality in your
package.stringi
, which powers stringr
, provides better Unicode support
than R’s built-in regex engine. If you expect to work with non-ASCII
text, stringr
may provide better results.stringi
is a heavy dependency, users are likely to already
have it installed because it is included when installing the
tidyverse
.stringstatic
functions are copied directly into your package, you
will not automatically benefit from improvements or bug fixes.Please note that the stringstatic
project is released with a
Contributor Code of
Conduct.
By contributing to this project, you agree to abide by its terms.
Hex sticker image by Flavia Rossell Hayes.
Hex sticker font is Source Sans by Adobe.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.