Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Replacements for base R string functions powered by stringi

English is the native language for only 5% of the World population. Also, only 17% of us can understand this text. Moreover, the Latin alphabet is the main one for merely 36% of the total. The early computer era, now a very long time ago, was dominated by the US. Due to the proliferation of the internet, smartphones, social media, and other technologies and media, this is no longer the case. This package replaces base R string functions with ones that fully support the Unicode standards related to natural language and date-time processing. Thanks to ICU (International Components for Unicode) and stringi, they are fast, reliable, and portable across different platforms.

stringx replaces base R functions like paste, gregexpr, tolower, and strptime with ones that:

  • work in the same way on every platform,
  • support a wide range of languages and scripts,
  • fix some long-standing inconsistencies in base R (which are pointed out in the package manual).

stringx is a set of wrappers around stringi — a mature R package for fast, consistent, convenient, and portable string/text/natural language processing in any locale that relies on ICU – International Components for Unicode.

To learn more about R, check out Marek's recent open-access (free!) textbook Deep R Programming.

Package Maintainer and Author: Marek Gagolewski


CRAN Entry:

License: stringx is distributed under the terms of the GNU General Public License, either Version 2 or Version 3, see LICENSE.

Changelog: see NEWS.