ReCase
Changes the input text to the desired convention case.
Install
Add this to your Cargo.toml:
[]
= "0.4.0"
Example:
use ;
All supported convention cases:
| Convention Case | Trait Method (on &str / String) |
Struct Method (ReCase) |
Example Result |
|---|---|---|---|
| camelCase | .to_camel_case() |
.camel_case() |
exampleString |
| snake_case | .to_snake_case() |
.snake_case() |
example_string |
| PascalCase | .to_pascal_case() |
.pascal_case() |
ExampleString |
| kebab-case | .to_kebab_case() |
.kebab_case() |
example-string |
| dot.case | .to_dot_case() |
.dot_case() |
example.string |
| path/case | .to_path_case() |
.path_case() |
example/string |
| windows\path\case | .to_windows_path_case() |
.windows_path_case() |
example\string |
| normal case | .to_normal_case() |
.normal_case() |
example string |
| Title Case | .to_title_case() |
.title_case() |
Example String |
| Sentence case | .to_sentence_case() |
.sentence_case() |
Example string |
| Header-Case | .to_header_case() |
.header_case() |
Example-String |
| UPPER_SNAKE_CASE | .to_upper_snake_case() |
.upper_snake_case() |
EXAMPLE_STRING |
| AlTeRnAtInG cAsE | .to_alternating_case() |
.alternating_case() |
eXaMpLe StRiNg |
Limitations
- The crate uses a single-buffer allocation strategy for most transformations to minimize memory overhead, but still not fully optimized.
- Some UTF-8 characters can't be lowercased, like "SS" which is the uppercased form of "ß". There might be more cases that I failed to notice.
Acknowledgements
Heavily influenced by ReCase from techniboogie-dart.