typescript 匹配字符串类型中的字符

tcomlyy6  于 2022-11-30  发布在  TypeScript
关注(0)|答案(1)|浏览(260)

希望你一切都好。我有一个问题。我正在寻找一个类型,通过一个字符串循环一次一个字符,如果所有的字符匹配查找字符,那么它应该返回字符串,如果不是,它应该返回never或空字符串。一直有一些麻烦,因为我有基本上像Trim的行为,这不是我真正寻找的。由于我正在寻找更多的模式匹配类型。希望你能提供一些帮助,这和提前感谢!

type Char =
  | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7"
  | "8" | "9" | "a" | "A" | "b" | "B" | "c" | "C"
  | "d" | "D" | "e" | "E" | "f" | "F";

type Word<S extends string> = S extends `${Char}${infer Rest}` ? Word<Rest> : never;

编码:TSPlayground

2ic8powd

2ic8powd1#

存储原始字符串,如果字符串为空,则返回该字符串:

type Word<S extends string, Original = S> = S extends `${infer _ extends Char}${infer Rest}`
  ? Word<Rest, Original> : S extends "" ? Original : never;

Playground

相关问题