The C++ String Toolkit Library (StrTk) consists of robust, optimized and portable string processing algorithms for the C++ language. StrTk is designed to be easy to use and integrate within existing code bases. Furthermore the library has a rich set of features that makes light work of any kind of string processing task.


The StrTk library has the following capabilities:

Generic string tokenizer and token iterators
Fast Split routines
User specified delimiter and splitter policies (simple and regex based etc.)
Conversions between data and hex and base-64
In-place removal and replace routines
Wild-card matching and globbing
Search and Replace
Fast token grid and Comma Separated Values (CSV and DSV) processing
Extremely fast String to Integer, Double and other POD conversions
Extensible string processing templates and algorithms (eg: combinatorics and randomizations)
Prefix tree and Bloom filter structures for efficient string matching and testing
Fast and simple-to-use binary serialization
Seamless integration with STL and Boost
Easy to use wrappers of common string processing usage patterns
Single header file solution requires no installation or building
C++ String Toolkit Library License

Free use of the String Toolkit Library is permitted under the guidelines and in accordance with the most current version of the "Common Public License."


The C++ String Toolkit Library implementation is compatible with the following C++ compilers:

GNU Compiler Collection (4.1+)
Intel® C++ Compiler (9.x+)
Clang/LLVM (1.1+)
PGI C++ (10.x+)
Microsoft Visual Studio C++ Compiler (7.1+)
Comeau C++ Compiler (4.3+)
IBM XL C/C++ (10.x+)
C++ Builder (XE4+)