pascal
将字符串转换为帕斯卡命名格式(首字母大写)。
语法
typescript
pascal(str: string): string
参数
str
(string): 要转换的字符串
返回值
string
: 帕斯卡命名格式的字符串
示例
基本用法
typescript
import { pascal } from 'radash'
pascal('hello world') // 'HelloWorld'
pascal('hello-world') // 'HelloWorld'
pascal('hello_world') // 'HelloWorld'
pascal('Hello World') // 'HelloWorld'
处理各种分隔符
typescript
import { pascal } from 'radash'
pascal('user-name') // 'UserName'
pascal('user_name') // 'UserName'
pascal('user name') // 'UserName'
pascal('userName') // 'UserName'
pascal('UserName') // 'UserName'
处理特殊字符
typescript
import { pascal } from 'radash'
pascal('first-name') // 'FirstName'
pascal('last_name') // 'LastName'
pascal('email address') // 'EmailAddress'
pascal('phone-number') // 'PhoneNumber'
pascal('date_of_birth') // 'DateOfBirth'
处理数字
typescript
import { pascal } from 'radash'
pascal('user-123') // 'User123'
pascal('api-v2') // 'ApiV2'
pascal('version-1-0') // 'Version10'
pascal('test-123-abc') // 'Test123Abc'
处理缩写
typescript
import { pascal } from 'radash'
pascal('user-id') // 'UserId'
pascal('api-url') // 'ApiUrl'
pascal('http-request') // 'HttpRequest'
pascal('json-data') // 'JsonData'
处理连续分隔符
typescript
import { pascal } from 'radash'
pascal('hello--world') // 'HelloWorld'
pascal('hello__world') // 'HelloWorld'
pascal('hello world') // 'HelloWorld'
pascal('hello---world') // 'HelloWorld'
处理首字母大写
typescript
import { pascal } from 'radash'
pascal('Hello World') // 'HelloWorld'
pascal('HELLO WORLD') // 'HelloWorld'
pascal('HelloWorld') // 'HelloWorld'
pascal('HELLO_WORLD') // 'HelloWorld'
处理空字符串
typescript
import { pascal } from 'radash'
pascal('') // ''
pascal(' ') // ''
pascal('---') // ''
pascal('___') // ''
处理单个单词
typescript
import { pascal } from 'radash'
pascal('hello') // 'Hello'
pascal('Hello') // 'Hello'
pascal('HELLO') // 'Hello'
pascal('world') // 'World'
处理复杂字符串
typescript
import { pascal } from 'radash'
pascal('user-profile-settings') // 'UserProfileSettings'
pascal('api-endpoint-config') // 'ApiEndpointConfig'
pascal('database-connection-string') // 'DatabaseConnectionString'
pascal('http-request-handler') // 'HttpRequestHandler'
处理包含数字的字符串
typescript
import { pascal } from 'radash'
pascal('user-123-profile') // 'User123Profile'
pascal('api-v2-endpoint') // 'ApiV2Endpoint'
pascal('test-1-2-3') // 'Test123'
pascal('version-1-0-0') // 'Version100'
处理特殊符号
typescript
import { pascal } from 'radash'
pascal('user@domain.com') // 'User@domain.com'
pascal('file-name.txt') // 'FileName.txt'
pascal('path/to/file') // 'Path/to/file'
pascal('query?param=value') // 'Query?param=value'
处理Unicode字符
typescript
import { pascal } from 'radash'
pascal('café-latte') // 'CaféLatte'
pascal('naïve-user') // 'NaïveUser'
pascal('résumé-data') // 'RésuméData'
pascal('über-user') // 'ÜberUser'
处理类名和组件名
typescript
import { pascal } from 'radash'
// React 组件名
pascal('user-profile') // 'UserProfile'
pascal('nav-bar') // 'NavBar'
pascal('side-menu') // 'SideMenu'
// CSS 类名
pascal('btn-primary') // 'BtnPrimary'
pascal('card-header') // 'CardHeader'
pascal('dropdown-menu') // 'DropdownMenu'
处理API端点
typescript
import { pascal } from 'radash'
pascal('get-user-by-id') // 'GetUserById'
pascal('create-new-post') // 'CreateNewPost'
pascal('update-user-profile') // 'UpdateUserProfile'
pascal('delete-user-account') // 'DeleteUserAccount'
处理数据库字段
typescript
import { pascal } from 'radash'
pascal('user_id') // 'UserId'
pascal('created_at') // 'CreatedAt'
pascal('updated_at') // 'UpdatedAt'
pascal('is_active') // 'IsActive'
注意事项
- 首字母大写: 帕斯卡命名总是以大写字母开头
- 分隔符: 支持空格、连字符、下划线作为分隔符
- 数字: 数字会被保留,但不会作为分隔符
- 特殊字符: 非分隔符的特殊字符会被保留
与其他函数的区别
pascal
: 转换为帕斯卡命名(首字母大写)camel
: 转换为驼峰命名(首字母小写)snake
: 转换为蛇形命名kebab
: 转换为短横线命名
性能
- 时间复杂度: O(n),其中 n 是字符串长度
- 空间复杂度: O(n)
- 适用场景: 类名、组件名、类型名转换