我知道我们应该使用库来处理这些,但有时我们需要的只是一个简单的函数来处理1个或2个情况
所以来了,直接复制粘贴下面的代码到你的应用中。
首字母大写所有单词
/**
* 将字符串中所有单词的首字母大写。
*
* @param str 要转换的字符串。
* @returns 首字母大写后的字符串。
* @example
* capitalizeAll('foo bar') // "Foo Bar"
*/
function capitalizeAll(str: string): string {
return capitalize(str.replace(/\s./g, ($1) => $1.toUpperCase()))
}
PascalCase
转纯文本
/**
* 将帕斯卡命名法字符串转换为纯文本。
*
* @param str 要转换的字符串。
* @returns 纯文本。
* @example
* pascalCaseToPlainText('FooBar') // "foo bar"
*/
function pascalCaseToPlainText(str: string): string {
return str.replace(/[A-Z]/g, ($1) => ` ${$1.toLowerCase()}`).trim()
}
camelCase
转 kebab-case
/**
* 将驼峰命名法字符串转换为短横线命名法。
* @param str 要转换的字符串。
* @returns 短横线命名法字符串。
* @example
* camelCaseToKebabCase('fooBar') // "foo-bar"
*/
function camelCaseToKebabCase(str: string): string {
return str.replace(/[A-Z]/g, ($1) => `-${$1.toLowerCase()}`).trim()
}
kebab-case
转纯文本
/**
* 将短横线命名法字符串转换为纯文本。
*
* @param str 要转换的字符串。
* @returns 纯文本。
* @example
* kebabCaseToPlainText('foo-bar') // "foo bar"
*/
function kebabCaseToPlainText(str: string): string {
return str.replace(/-/g, ' ')
}
kebab-case
纯文本转 /**
* 将纯文本字符串转换为短横线命名法。
*
* @param str 要转换的字符串。
* @returns 短横线命名法字符串。
* @example
* toKebabCase('hello World') // "hello-world"
*/
function toKebabCase(str: string): string {
return str.replace(/\s/g, '-').toLowerCase()
}
首字母大写
/**
* 将字符串的首字母大写。
*
* @param str 要转换的字符串。
* @returns 首字母大写后的字符串。
* @example
* capitalize('hello') // "Hello"
*/
function capitalize(str: string): string {
return str.charAt(0).toUpperCase() + str.slice(1)
}
camelCase
转纯文本
/**
* 将驼峰命名法字符串转换为纯文本。
*
* @param str 要转换的字符串。
* @returns 纯文本。
* @example
* camelCaseToPlainText('fooBar') // "foo bar"
*/
function camelCaseToPlainText(str: string): string {
return str.replace(/[A-Z]/g, ($1) => ` ${$1.toLowerCase()}`).trim()
}
camelCase
纯文本转 /**
* 将纯文本字符串转换为驼峰命名法。
*
* @param str 要转换的字符串。
* @returns 驼峰命名法字符串。
* @example
* toCamelCase('hello world') // "helloWorld"
*/
function toCamelCase(str: string): string {
return str.replace(/\s+(.)/g, (_, char) => char.toUpperCase())
}
未来还会有更多工具函数。敬请期待!