#convert-string #snake-case #camel-case #pascal-case #case #ascii-text #snake

stringcase

在camelCase、COBOL-CASE、kebab-case等之间转换字符串大小写

5个不稳定版本

0.3.0 2024年8月12日
0.2.1 2024年2月26日
0.2.0 2024年2月25日
0.1.1 2024年2月23日
0.1.0 2024年2月18日

#259文本处理

Download history 274/week @ 2024-04-24 382/week @ 2024-05-01 650/week @ 2024-05-08 1209/week @ 2024-05-15 756/week @ 2024-05-22 918/week @ 2024-05-29 710/week @ 2024-06-05 575/week @ 2024-06-12 1025/week @ 2024-06-19 712/week @ 2024-06-26 144/week @ 2024-07-03 107/week @ 2024-07-10 86/week @ 2024-07-17 152/week @ 2024-07-24 106/week @ 2024-07-31 216/week @ 2024-08-07

590 每月下载量
用于 rust-zserio

MIT 许可证

180KB
4K SLoC

stringcase-rust crate.io doc.rs CI状态 MIT License

此库提供了一些函数,用于在camelCase、COBOL-CASE、kebab-case、MACRO_CASE、PascalCase、snake_case和Train-Case之间转换字符串大小写。此外,此库还提供了一个trait Caser,使得字符串可以通过自己的方法来转换其大小写。

基本上,这些函数仅针对ASCII字母的大写和小写进行大小写转换,所有非ASCII字母和非ASCII数字的字符都被消除作为单词分隔符。

为了限制用作分隔符的字符,提供了类似*_with_sep的函数,而为了保留指定的字符,提供了类似*_with_keep的函数。

在这个包中,转换函数的默认行为是在数字和符号序列之后插入分隔符,而不是之前。(例如,snake_case("abc123def") ==> "abc123_def")然而,对于需要前后都插入分隔符的情况,提供了类似*_with_nums_as_word的函数名称。(例如,snake_case_with_nums_as_word("abc123def") ==> "abc_123_def"

安装

Cargo.toml中,将此包作为依赖项写入。

[dependencies]
stringcase = "0.3.0"

用法

此包中的函数可以按以下方式执行

use stringcase::camel_case;

fn main() {
    let input = "foo-bar-baz";
    let camel = camel_case(input);
    assert_eq!(camel, "fooBarBaz");
}

通过使用Caseruse声明,它将能够执行字符串、String&str的方法来转换它们的格式。

use stringcase::Caser;

func main() {
    let input = "foo-bar-baz";
    let camel = input.to_camel_case();
    assert_eq!(camel, "fooBarBaz");
}

支持的Rust版本

此库支持Rust 1.56.1或更高版本。

% cargo msrv
Fetching index
Determining the Minimum Supported Rust Version (MSRV) for toolchain x86_64-apple-darwin
Using check command cargo check
Check for toolchain '1.66.1-x86_64-apple-darwin' succeeded
Check for toolchain '1.61.0-x86_64-apple-darwin' succeeded
Check for toolchain '1.58.1-x86_64-apple-darwin' succeeded
Check for toolchain '1.57.0-x86_64-apple-darwin' succeeded
Check for toolchain '1.56.1-x86_64-apple-darwin' succeeded
   Finished The MSRV is: 1.56.1   █████████████████████████████████████ 00:00:20

许可证

版权(C)2024 Takayuki Sato

本程序是在MIT许可证下提供的自由软件。
有关更多详细信息,请参阅本分布中的LICENSE文件。

无运行时依赖