DEV Community

Acid Coder
Acid Coder

Posted on • Edited on

Typescript Count Substring of a String Literal Type

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 
Enter fullscreen mode Exit fullscreen mode

playground

limitation: the count cannot exceed 999 because the max depth of TS recursion is only 1000

Top comments (0)