Typescript类型体操 - Replace
题目
中文
实现 Replace<S, From, To> 将字符串 S 中的第一个子字符串 From 替换为 To 。
例如
type replaced = Replace<'types are fun!', 'fun', 'awesome'> // 期望是 'types are awesome!'
English
Implement Replace<S, From, To> which replace the string From with To once in the given string S
For example
type replaced = Replace<'types are fun!', 'fun', 'awesome'> // expected to be 'types are awesome!'
答案
type Replace<S extends string, From extends string, To extends string> = From extends ''
? S
: (S extends `${infer L}${From}${infer R}`
? (`${L}${To}${R}`)
: S);
浙公网安备 33010602011771号