# string 工具类型
在 CodeSandBox 中尝试 (opens new window)
# CanStringified 可转字符的类型
可以转字符类型的类型,如 0
、"haha"
、true
、null
、undefined
用于约束其他类型
type CanStringified = string | number | bigint | boolean | null | undefined
# Stringify 转字符串
将符合约束的类型转为字符串类型
泛型参数
- T
- 约束
CanStringified
- 必须
是
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.Stringify<1> // "1"
type Result2 = string.Stringify<"haha"> // "haha"
type Result3 = string.Stringify<true> // "true"
type Result4 = string.Stringify<null> // "null"
type Result5 = string.Stringify<undefined> // "undefined"
type Result6 = string.Stringify<1n> // "1"
# GetChars 获取字符
获取字符串类型中所有字符构成的联合类型
泛型参数
- S
- 约束
string
- 必须
是
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.GetChars<'abc'> // 'a' | 'b' | 'c'
type Result2 = string.GetChars<""> // never
# Split 分割字符串
将字符串类型按照子串分割成元组类型
泛型参数
S
- 约束
string
- 必须
是
- 约束
SplitStr
- 约束
string
- 必须
否
- 默认
""
- 注:按照 SplitStr 分割字符串类型
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.Split<'abc'> // ['a', 'b', 'c']
type Result2 = string.Split<'1,2,3', ','> // ["1", "2", "3"]
type Result3 = string.Split<"", ','> // []
# GetStringLength 获取字符串长度
获取字符串类型的长度
泛型参数
- S
- 约束
string
- 必须
是
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.GetStringLength<"123"> // 3
type Result2 = string.GetStringLength<""> // 0
# CharAt 获取字符
获取字符串类型中给定索引位的字符
泛型参数
S
- 约束
string
- 必须
是
- 约束
I
- 约束
number
- 必须
是
- 注:给定的索引位需要大于等于0
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.CharAt<"123", 0> // "1"
type Result2 = string.CharAt<"123", 2> // "3"
type Result3 = string.CharAt<"123", 3> // undefined
# Concat 拼接字符
拼接两个字符串类型成为一个新的字符串类型
泛型参数
S1
- 约束
string
- 必须
是
- 约束
S2
- 约束
string
- 必须
是
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.Concat<"123", "456"> // "123456"
# Includes 判断包含子串
判断字符串类型中是否包含子串
如果是,则得到 true
、否则得到 false
泛型参数
S1
- 约束
string
- 必须
是
- 约束
S2
- 约束
string
- 必须
是
- 注:需要判断是否包含的子串
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.Include<"123", "12"> // true
type Result2 = string.Include<"123", "34"> // false
# StartsWith 判断由子串开始
判断字符串类型是否由给定的子串开始
如果是,则得到 true
、否则得到 false
泛型参数
S1
- 约束
string
- 必须
是
- 约束
S2
- 约束
string
- 必须
是
- 注:需要判断是否由其开始的子串
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.StartsWith<"123", "12"> // true
type Result2 = string.StartsWith<"123", "23"> // false
# EndsWith 判断由子串结束
判断字符串类型是否由给定的子串结束
如果是,则得到 true
、否则得到 false
泛型参数
S1
- 约束
string
- 必须
是
- 约束
S2
- 约束
string
- 必须
是
- 注:需要判断是否由其结束的子串
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.EndsWith<"123", "12"> // false
type Result2 = string.EndsWith<"123", "23"> // true
# IndexOf 查询子串第一个起始索引
从左往右查询字符串类型中给定的子串出现的第一个位置的起始索引,如果没有,则得到 -1
泛型参数
S1
- 约束
string
- 必须
是
- 约束
S2
- 约束
string
- 必须
是
- 注:需要获得出现位置的子串
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.IndexOf<"123", "1"> // 0
type Result2 = string.IndexOf<"123", "4"> // -1
# LastIndexOf 查询子串最后一个起始索引
从左往右查询字符串类型中给定的子串出现的最后一个位置的起始索引,如果没有,则得到 -1
泛型参数
S1
- 约束
string
- 必须
是
- 约束
S2
- 约束
string
- 必须
是
- 注:需要获得出现位置的子串
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.LastIndexOf<"123", "3"> // 2
type Result2 = string.LastIndexOf<"123", "4"> // -1
# Replace 查找并替换一处子串
在字符串类型中匹配第一个子串并替换成新字符串类型
泛型参数
S1
- 约束
string
- 必须
是
- 约束
MatchStr
- 约束
string
- 必须
是
- 注:需要被替换的子串
- 约束
ReplaceStr
- 约束
string
- 必须
是
- 注:需要替换的子串
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.Replace<"123", "3", "4"> // "124"
type Result2 = string.Replace<"123", "4", "5"> // "123"
# ReplaceAll 查找并替换所有子串
在字符串类型中匹配所有子串并替换成新字符串类型
泛型参数
S1
- 约束
string
- 必须
是
- 约束
MatchStr
- 约束
string
- 必须
是
- 注:需要被替换的子串
- 约束
ReplaceStr
- 约束
string
- 必须
是
- 注:需要替换的子串
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.ReplaceAll<"333", "4"> // "444"
type Result2 = string.ReplaceAll<"123", "4"> // "123"
# Repeat 重复字符串
重复指定次数的字符串类型,并生成新字符串
泛型参数
S
- 约束
string
- 必须
是
- 约束
Times
- 约束
number
- 必须
否
- 默认
1
- 注:给定需要重复的次数,需为大于等于 0 的整数
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.Repeat<"123", 4> // "123123123123"
type Result2 = string.Repeat<"123", 0> // ""
# PadStart 在前面填充
当字符串类型长度低于给定值时,在字符串前面以给定字符串类型进行填充,直到满足给定长度
泛型参数
S
- 约束
string
- 必须
是
- 约束
N
- 约束
number
- 必须
否
- 默认
0
- 注:给定字符串需要达到的长度,需为大于等于 0 的整数
- 约束
FillS
- 约束
string
- 必须
否
- 默认
" "
- 注:填充字符
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.PadStart<"123", 4> // " 123"
type Result2 = string.PadStart<"123", 5, 'x'> // "xx123"
# PadEnd 在后面填充
当字符串类型长度低于给定值时,在字符串后面以给定字符串类型进行填充,直到满足给定长度
泛型参数
S
- 约束
string
- 必须
是
- 约束
N
- 约束
number
- 必须
否
- 默认
0
- 注:给定字符串需要达到的长度,需为大于等于 0 的整数
- 约束
FillS
- 约束
string
- 必须
否
- 默认
" "
- 注:填充字符
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.PadEnd<"123", 4> // "123 "
type Result2 = string.PadEnd<"123", 5, 'x'> // "123xx"
# TrimLeft 去掉左边空格
去掉字符串类型左侧的所有空格、制表符、换行符
泛型参数
- S
- 约束
string
- 必须
是
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.TrimLeft<" 123 "> // "123 "
# TrimRight 去掉右边空格
去掉字符串类型右侧的所有空格、制表符、换行符
泛型参数
- S
- 约束
string
- 必须
是
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.TrimLeft<" 123 "> // " 123"
# Trim 去掉两边空格
去掉字符串类型两侧的所有空格、制表符、换行符
泛型参数
- S
- 约束
string
- 必须
是
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.TrimLeft<" 123 "> // "123"
# ToUpperCase 转大写
将字符串类型中的英文字母全部转为大写
泛型参数
- S
- 约束
string
- 必须
是
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.ToUpperCase<"abc"> // "ABC"
# ToLowerCase 转小写
将字符串类型中的英文字母全部转为小写
泛型参数
- S
- 约束
string
- 必须
是
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.ToUpperCase<"ABC"> // "abc"
# SubString 截取字符串
从给定的字符串类型中,按照给定的起始索引和结束索引截取字符串
泛型参数
S
- 约束
string
- 必须
是
- 约束
Start
- 约束
number
- 必须
是
- 注:指定的起始索引,需为大于等于 0 的整数
- 约束
End
- 约束
number
- 必须
是
- 注:指定的结束索引,需为大于等于 0 的整数
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.SubString<"12345", 0, 1> // "1"
type Result2 = string.SubString<"12345", 0, 0> // ""
type Result3 = string.SubString<"12345", 1, 0> // ""
# SubStr 截取一定长度的字符串
从给定的字符串类型中,按照给定的起始索引和长度截取字符串
泛型参数
S
- 约束
string
- 必须
是
- 约束
Start
- 约束
number
- 必须
是
- 注:指定的起始索引,需为大于等于 0 的整数
- 约束
Len
- 约束
number
- 必须
是
- 注:指定的长度,需为大于等于 0 的整数
- 约束
示例
import { string } from "typescript-lodash"
type Result1 = string.SubStr<"12345", 1, 1> // "2"
type Result2 = string.SubStr<"12345", 0, 0> // ""
type Result3 = string.SubStr<"12345", 3, 2> // "45"