stringi (pronounced “stringy”,
is THE R package for fast,
correct, consistent, portable, as well as convenient
string/text processing in
every locale and
any native character encoding.
The use of the ICU library gives
R users a platform-independent set of functions known to Java, Perl,
Python, PHP, and Ruby programmers.
Among available features there are: pattern searching (e.g., with ICU Java-like regular expressions or the Unicode Collation Algorithm), random string generation, case mapping, string transliteration, concatenation, Unicode normalization, date-time formatting and parsing, etc.
with contributions from Bartłomiej Tartanus and others (stringi source code);|
IBM and other contributors (ICU4C 55.1 source code);
Unicode, Inc. (Unicode Character Database)
|License:||The BSD 3-Clause License (see the LICENSE file for details)|
|Installation in |
|Changelog:||See the NEWS file|
|System requirements:||R (≥ 2.14), ICU4C (>= 52, optional), see the INSTALL file for more details|
|Documentation:||Browse the online manual|
How to access the stringi C API from an Rcpp-based R package
The contributions of Marcin Bujarski at the early stage of the package development is fully acknowledged.
The help of Giovanni Mazzocco in building the first OS X version of
stringi is much appreciated.
The package’s API was inspired by Hadley Wickham’s
stringr package and now stands for its basis. Moreover, Hadley suggested many new and cool package features. Thanks!
The authors also wish to thank their colleagues (Systems Research Institute, Polish Academy of Sciences) and students (Faculty of Mathematics and Information Science, Warsaw University of Technology) for valuable comments on and extensive testing of the package facilities.
The package follows the BSD-3-clause license, for more details see the LICENSE file.
More precisely, the sole
stringi's source code itself is released under
the BSD-3-clause license, which is 100% open source compatible.
Such a license has been verified as GPL-compatible
by the Free Software Foundation.
The reason for using BSD-3-clause is that we include full source code of the ICU library, which has its own license. The ICU projects are covered by the ICU 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 both in free software projects and in proprietary or commercial products.