@wangdengfeng/string-utils
v1.0.0
Published
A lightweight, zero-dependency collection of string utility functions: case conversion, capitalize, truncate, palindrome check and more.
Maintainers
Readme
@wangdengfeng/string-utils
轻量、零依赖的字符串工具库,提供大小写转换、截断、回文判断等常用函数。使用 TypeScript 编写,同时支持 ESM 和 CommonJS,并自带类型声明。
安装
npm install @wangdengfeng/string-utils使用
import {
toCamelCase,
toKebabCase,
truncate,
isPalindrome,
} from "@wangdengfeng/string-utils";
toCamelCase("hello-world"); // "helloWorld"
toKebabCase("HelloWorld"); // "hello-world"
truncate("hello world", 8, "..."); // "hello..."
isPalindrome("A man, a plan, a canal: Panama"); // trueCommonJS 同样支持:
const { toSnakeCase } = require("@wangdengfeng/string-utils");
toSnakeCase("HelloWorld"); // "hello_world"API
| 函数 | 说明 | 示例 |
| --- | --- | --- |
| words(input) | 按分隔符和大小写边界拆分为小写单词 | words("foo_bar") → ["foo", "bar"] |
| toCamelCase(input) | 转为驼峰命名 | toCamelCase("hello-world") → "helloWorld" |
| toPascalCase(input) | 转为帕斯卡命名 | toPascalCase("hello-world") → "HelloWorld" |
| toKebabCase(input) | 转为短横线命名 | toKebabCase("HelloWorld") → "hello-world" |
| toSnakeCase(input) | 转为下划线命名 | toSnakeCase("HelloWorld") → "hello_world" |
| toConstantCase(input) | 转为大写常量命名 | toConstantCase("HelloWorld") → "HELLO_WORLD" |
| capitalize(input) | 首字母大写,其余小写 | capitalize("hELLO") → "Hello" |
| capitalizeWords(input) | 每个单词首字母大写 | capitalizeWords("hello world") → "Hello World" |
| truncate(input, maxLength, suffix?) | 按长度截断并追加后缀 | truncate("hello world", 8, "...") → "hello..." |
| isPalindrome(input) | 忽略大小写和符号判断回文 | isPalindrome("racecar") → true |
| countOccurrences(input, search) | 统计非重叠出现次数 | countOccurrences("banana", "an") → 2 |
本地开发
npm install
npm run typecheck # TypeScript 类型检查
npm test # 运行测试
npm run build # 构建 dist(ESM + CJS + .d.ts)License
MIT
