A comprehensive tutorial and reference manual is available at https://stringi.gagolewski.com/.
Check out
stringx
for a set of wrappers aroundstringi
with a base R-compatible API.To learn more about R, check out Marek's open-access (free!) textbook Deep R Programming.
stringi
(pronounced “stringy”, IPA [strinɡi])
is THE R package for string/text/natural language processing.
It is very fast, consistent, convenient, and — thanks to the
ICU – International Components for Unicode
library — portable across all locales and platforms.
Available features include:
- string concatenation, padding, wrapping,
- substring extraction,
- pattern searching (e.g., with Java-like regular expressions),
- collation and sorting,
- random string generation,
- case mapping and folding,
- string transliteration,
- Unicode normalisation,
- date-time formatting and parsing,
and many more.
Package Maintainer: Marek Gagolewski
Authors and Contributors: Marek Gagolewski, with contributions from Bartłomiej Tartanus and many others.
The package's API was inspired by that of the early (pre-tidyverse; v0.6.2)
version of Hadley Wickham's
stringr
package (and since the 2015 v1.0.0 stringr
is powered by stringi
).
Homepage: https://stringi.gagolewski.com/
Citation: Gagolewski M.,
stringi
: Fast and portable character string processing in R,
Journal of Statistical Software 103(2), 2022, 1–59,
https://dx.doi.org/10.18637/jss.v103.i02.
CRAN Entry: https://CRAN.R-project.org/package=stringi
System Requirements: R >= 3.4, ICU4C >= 61 (refer to the INSTALL file for more details)
License: stringi
's source code is distributed under the open source
BSD-3-clause license. For more details, see
LICENSE.
This git repository also contains a custom subset of ICU4C source code which is copyrighted by Unicode, Inc. and others. A binary version of the Unicode Character Database is included. For more details on copyright holders, see LICENSE. The ICU project is covered by the Unicode license — a simple, permissive non-copyleft free software license, compatible with the GNU GPL. The ICU license is intended to allow ICU to be included in free software projects as well as in proprietary or commercial products.
Changes: see the NEWS file.
How to access the stringi C++ API from within an Rcpp-based R package