关键词: TypeScript, TypeChallenge
实现ReplaceAll<S, From, To>
类, 该类接受三个字符串类型, 将S
串中所有出现的From
修改为To
并返回
举个栗子:
type replaced = ReplaceAll<"t y p e s", " ", "">; // expected to be 'types'
type Replace<S, F extends string, T extends string> = S extends `${infer L}${F}${infer R}`
? `${L}${T}${R}`
: S;
type ReplaceAll<S, F extends string, T extends string> = S extends `${infer L}${F}${infer R}`
? ReplaceAll<Replace<S, F, T>, F, T>
: S
逻辑基本同0116-Replace-medium, 只是增加了一个递归的处理