Yuzhe's Blog

yuzhes

Replace

Replace

题目链接

题目

实现 Replace<S, From, To> 将字符串 S 中的第一个子字符串 From 替换为 To

例如

type replaced = Replace<'types are fun!', 'fun', 'awesome'> // 期望是 'types are awesome!'

解答

type Replace<S extends string, From extends string, To extends string> =
  From extends ""
    ? S
      : S extends `${infer Head}${From}${infer Tail}`
      ? `${Head}${To}${Tail}`
    : S