Typescript类型体操 - Trim

题目

中文

实现Trim<T>,它是一个字符串类型,并返回一个新字符串,其中两端的空白符都已被删除。

例如

type trimed = Trim<'  Hello World  '> // expected to be 'Hello World'

English

Implement Trim<T> which takes an exact string type and returns a new string with the whitespace from both ends removed.

For example

type trimmed = Trim<'  Hello World  '> // expected to be 'Hello World'

答案

type Trim<S extends string> = S extends `${' ' | '\n' | '\t'}${infer U}` ? Trim<U> : (S extends `${infer U}${' ' | '\n' | '\t'}` ? Trim<U> : S)

在线演示

posted @ 2022-09-04 23:25  Laggage  阅读(145)  评论(0编辑  收藏  举报