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号
浙公网安备 33010602011771号