C string utils library (STB style, header-only). Features:
- String expression evaluator (
streval
) - String formatters (to heap buffers) (
strcpyf*
,strcatf*
) - String formatters (to temporary buffers) (
strf*
) - String fuzzy search (
strscore
,strfuzzy
) - String regular expression (
strregex [c?^$*]
) - String 64-bit hashing (both compile-time and runtime) (
strhash
) - String interning (quarks) (
strput
,strget
) - String matching (
strsub
,strfindl
,strfindr
,strbegin
,strend
,strmatch
,streq
,streqi
) - String splitting (with and without allocations) (
strsplit
,strchop
,strjoin
) - String options parsing (
stropt
,stropti
,stroptf
) - String trim utils (
strdel
,strtrimws
,strtrimblf/bff
,strtrimrlfe/ffe
) - String transform utils (
strrepl
,strremap
,strlower
,strupper
,strrev
) - String normalization utils (
strnorm
) - String conversion utils (
strint
,strhuman
,strrobot
) - String unicode utils (
strutf8
,strutf32
,strwiden
,strshorten
) - Documentation.
- Using Rob Pike's regular expression (apparently public domain).
- Using Sam Hocevar's preprocessor trick (apparently public domain).
- Using Bob Stout's transform utils (public domain).
- Using Sean Barrett and Jeff Roberts' string formatters (unlicensed).
- Using Werner Stoop's expression evaluator (unlicensed).
- Using Dimitri Diakopoulos' & Sean Barrett's unicode stuff (unlicensed).
- rlyeh, unlicensed (~public domain).