index.ts 767 B

1234567891011121314151617
  1. // export function toLowercaseSeparator(key: string) {
  2. // return key.replace(/([A-Z])/g, '-$1').toLowerCase();
  3. // }
  4. /**
  5. * 将字符串转换为指定连接符的命名约定
  6. * @param str 要转换的字符串
  7. * @param separator 指定的连接符,默认为 "-"
  8. * @returns 转换后的字符串
  9. */
  10. export function kebabCase(str: string, separator: string = "-"): string {
  11. return str
  12. .replace(/[A-Z]/g, match => `${separator}${match.toLowerCase()}`) // 将大写字母替换为连接符加小写字母
  13. .replace(/[\s_-]+/g, separator) // 将空格、下划线和短横线替换为指定连接符
  14. .replace(new RegExp(`^${separator}|${separator}$`, "g"), "") // 删除开头和结尾的连接符
  15. .toLowerCase(); // 将结果转换为全小写
  16. }