kakasoo

DropChar, 문자열에서 특정 글자 제거하기 본문

프로그래밍/TypeScript

DropChar, 문자열에서 특정 글자 제거하기

카카수(kakasoo) 2023. 4. 16. 19:14
반응형
type ToString<T>= T extends string ? T : never;
type ToStringTuple<T>= T extends string[] ? T : never;
type Join<T extends string[]> = T extends [infer F, ...infer Rest] ? `${ToString<F>}${Join<ToStringTuple<Rest>>}` : '';

type Replace<S, C> = 
  C extends '' ?
    never :
    S extends `${infer F}${infer Rest}` ? F extends C ? [...Replace<Rest, C>] : [F, ...Replace<Rest, C>] : [];

type DropChar<S, C> = Join<Replace<S, C>>

DropChar는 문자열에서 특정한 글자가 있을 경우 삭제하는 타입을 구현한다.
사실, 이는 이전에 구현한 ReplaceAll 타입과 유사하다.
이 중 하나의 프로퍼티를 빈 문자열로 대입한 경우이기 때문이다.

반응형