2 releases
0.1.1 | Sep 27, 2022 |
---|---|
0.1.0 | Jul 22, 2022 |
#639 in Text processing
16KB
305 lines
ncase [ɪn'keɪs] — enforce a case style
Why?
So that I could
% for f in *.pdf; do
mv "$f" $(ncase -s `basename "$f" .pdf`).pdf
done
Binary
Install
% cargo install ncase
Usage
Enforce the chosen case style on a string and write it to the standard output.
% ncase --pascal this is a test string
ThisIsATestString
% ncase --lower ThisIsATestString
this is a test string
By default, enforces the random case.
% ncase this is a test string
ThiS IS A tesT stRINg
Library
Install
Add the dependency to your Cargo.toml
.
[dependencies]
ncase = "0.1"
Or from the command line.
% cargo add ncase@0.1
Usage
Use the functions for one-off case conversions.
assert_eq!(ncase::camel("camel case"), "camelCase");
assert_eq!(ncase::snake("snake case"), "snake_case");
Use Words
if you need to convert one string into many case styles.
use ncase::Words;
let s = "Lorem ipsum dolor sit amet";
let w = Words::from(s);
assert_eq!(w.kebab(), "lorem-ipsum-dolor-sit-amet");
assert_eq!(w.title(), "Lorem Ipsum Dolor Sit Amet");
Or if you want to use the separator regex.
use ncase::Words;
use regex::Regex;
let s = "Lorem, ipsum (dolor _sit)_ amet";
let sep = Regex::new(r"[\pP\s]+").unwrap();
let w = Words::with_separator(s, &sep);
assert_eq!(w.lower(), "lorem ipsum dolor sit amet");
assert_eq!(w.upper(), "LOREM IPSUM DOLOR SIT AMET");
Dependencies
~2–2.8MB
~70K SLoC