
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.