stringi is a comprehensive toolkit for character string processing. It provides consistent operations for manipulating, searching, transforming and comparing text across different languages, locales and character encodings.
The package uses the International Components for Unicode (ICU) libraries to provide sophisticated text processing beyond simple byte-oriented string operations. It is particularly useful when applications must handle multilingual data, perform locale-sensitive comparisons or work with text containing complex Unicode characters.
Its functions follow a consistent naming convention and operate on vectorised string data. The package also provides much of the underlying functionality used by stringr, making it an important component of the wider R text-processing ecosystem.
This is free and open source software.
Key Features
- Supports Unicode-aware string operations across different languages and character sets.
- Provides powerful pattern matching using ICU regular expressions.
- Supports fixed-string matching, regular-expression matching and locale-sensitive comparisons.
- Offers string concatenation, splitting, extraction, replacement, padding and wrapping.
- Provides case conversion, case folding and locale-sensitive text transformations.
- Implements Unicode normalisation using standard normal forms.
- Supports transliteration between writing systems and character representations.
- Offers locale-aware collation, sorting and comparison.
- Handles conversion between character encodings and detects common encoding problems.
- Provides string boundary analysis for words, sentences and other text units.
- Supports random string generation and text formatting operations.
- Includes date and time formatting through ICU facilities.
- Works with character vectors and missing values using consistent function interfaces.
- Cross-platform support – runs on Linux, macOS, and Windows.
Website: github.com/gagolews/stringi
Support:
Developer: Marek Gagolewski and contributors
License: BSD 3-Clause ‘New’ or ‘Revised’ License
stringi is written in C++ and C. Learn C++ with our recommended free books and free tutorials. Learn C with our recommended free books and free tutorials.
Related Software
| R Natural Language Processing Tools | |
|---|---|
| tidytext | Text mining using dplyr, ggplot2, and other tidy tools |
| quanteda | R package for Quantitative Analysis of Textual Data |
| text2vec | Framework with API for text analysis and natural language processing |
| wordcloud | Create attractive word clouds |
| tm | Text Mining Infrastructure in R |
| srtringi | Fast and portable character string processing in R |
| Stringr | String manipulation in R |
| UDPipe | Tokenization, Tagging, Lemmatization and Dependency Parsing |
| tokenizers | Convert natural language text into tokens |
| spacyr | R wrapper around the Python spaCy package |
| Word Vectors | Build and explore embedding models |
| syuzhet | Extraction of sentiment and sentiment-based plot arcs from text |
| textTinyR | Text processing for small or big data |
| sentimentr | Dictionary based sentiment analysis |
| textclean | Collection of tools to clean and normalize text |
| TALL | Explore, model, and visualize textual data |
| corpustools | Various tools for analyzing text corpora |
| topicmodels | Interface to LDA and CTM models |
| text | Analyzing natural language with transformers-based large language models |
| RTextTools | Automatic text classification via supervised learning |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.