Crates.io | string-utility |
lib.rs | string-utility |
version | 0.2.0 |
source | src |
created_at | 2022-10-09 03:05:07.041943 |
updated_at | 2022-10-12 09:58:49.128633 |
description | Provides simple substring implementation (with the RangeBound trait), keep string before or after a specified string, etc. |
homepage | https://github.com/floating-floaties/string-utility/ |
repository | https://github.com/floating-floaties/string-utility/ |
max_upload_size | |
id | 683845 |
size | 53,424 |
Add the following line to your Cargo.toml file (under [dependencies]
):
string-utility = "0.2"
use string_utility::prelude::*;
use string_utility::prelude::*;
fn main() {
let some_text = "42Hello, world!".to_string();
// cut first two chars
let result = some_text.substring(2..);
let expected = "Hello, world!";
assert_eq!(result, expected);
// extract world string
let result = some_text.substring(9..=13);
let expected = "world";
assert_eq!(result, expected);
// keep everything up to (including) idx 13
let result = some_text.substring(..=13);
let expected = "42Hello, world";
assert_eq!(result, expected);
// keep everything up to (excluding) idx 13
let result = some_text.substring(..13);
let expected = "42Hello, worl";
assert_eq!(result, expected);
// keep everything
let result = some_text.substring(..);
let expected = "42Hello, world!";
assert_eq!(result, expected);
// get last char
let result = some_text.substring(some_text.len()-1..);
let expected = "!";
assert_eq!(result, expected);
}
All functions: trait def
use string_utility::prelude::*;
fn main() {
let some_text = "some start value, some not-so-start value".to_string();
let result = some_text
.keep("start".to_string()) // keep(pattern)
// from the
.end_of_string()
// whether to keep the pattern "start"
.excluding_pattern()
// keep everything before the pattern
.before_pattern()
// exec
.to_string();
let expected = "some start value, some not-so-";
assert_eq!(result, expected);
}