#snake-case #string #unicode #case #snake #camel

voca_rs

Voca_rs is a Rust library for manipulating [unicode] strings

22 stable releases

Uses old Rust 2015

1.15.2 Nov 10, 2022
1.15.0 Oct 1, 2022
1.14.0 Sep 18, 2021
1.13.0 Oct 4, 2020
0.5.0 Oct 19, 2018

#192 in Encoding

Download history 1468/week @ 2024-08-09 1226/week @ 2024-08-16 1854/week @ 2024-08-23 2145/week @ 2024-08-30 1808/week @ 2024-09-06 1602/week @ 2024-09-13 1554/week @ 2024-09-20 2064/week @ 2024-09-27 2266/week @ 2024-10-04 1678/week @ 2024-10-11 1739/week @ 2024-10-18 2017/week @ 2024-10-25 2065/week @ 2024-11-01 2465/week @ 2024-11-08 1515/week @ 2024-11-15 1635/week @ 2024-11-22

7,986 downloads per month
Used in 31 crates (21 directly)

MIT license

2MB
68K SLoC

voca_rs

Crates version dependency status Build Status codecov license

Voca_rs is a Rust library for manipulating [unicode] strings.

Voca_rs is implemented on Foreign Types, i.e. String and str. Respects Unicode.

Voca_rs is inspired by Voca.js (JavaScript), string.py (Python), Inflector (Rust), and Grafite (PHP).

TL;DR

Using functions:

use voca_rs::*;

let input_string = "LazyLoad with XMLHttpRequest and snake_case";
let string_in_words = split::words(&input_string);
// => ["Lazy", "Load", "with", "XML", "Http", "Request", "and", "snake", "case"]
let words_in_string = &string_in_words.join(" ");
// => "Lazy Load with XML Http Request and snake case"
let truncated_string = chop::prune(&words_in_string, 21, "");
// => "Lazy Load with XML..."
let sliced_string = chop::slice(&truncated_string, 5, -2);
// => "Load with XML."
let snaked_string = case::snake_case(&sliced_string);
// => "load_with_xml"

Using traits (all methods start from the underscore symbol):

use voca_rs::Voca;

"LazyLoad with XMLHttpRequest and snake_case"
._words()
// => ["Lazy", "Load", "with", "XML", "Http", "Request", "and", "snake", "case"]
.join(" ")
// => "Lazy Load with XML Http Request and snake case"
._prune(21, "")
// => "Lazy Load with XML..."
._slice(5, -2)
// => "Load with XML."
._snake_case();
// => "load_with_xml"

Documentation

See the complete documentation at https://docs.rs/voca_rs/

Run tests: cargo test
Build docs: cargo doc -> ./target/doc/voca_rs/index.html
Build a project: cargo build -> ./target/debug

Functions

Case

Chop

Count

Escape

Index

Manipulate

Query

Split

Strip

Utils

Coded by A. Merezhanyi

License

Licensed under MIT License

Dependencies

~2.4–3.5MB
~59K SLoC