Typescript Count Substring of a String Literal Type
Acid Coder
Posted on June 27, 2022
Ever wonder how can you count certain characters of a string literal type?
here is how:
type GetCountOfSubString<
String_ extends string,
SubString extends string,
Count extends unknown[] = []
> = String_ extends `${string}${SubString}${infer Tail}`
? GetCountOfSubString<Tail, SubString, [1, ...Count]>
: Count['length']
type NumberOfA = GetCountOfSubString<"a--a--aa--a","a"> // 5
limitation: the count cannot exceed 999 because the max depth of TS recursion is only 1000
💖 💪 🙅 🚩
Acid Coder
Posted on June 27, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.