Simple Substring Trait

* Simple Substring Trait * Usage * Substring * Keep * Keep after (including) * Keep after (excluding) * Keep before (including) * Keep before (excluding)

Usage

Substring

String::substring(range: Range<usize>)

```rust use string_utility::Substring;

fn main() { let sometext = "42Hello, world!".tostring();

// 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);

} ```

Keep

Keep after (including)

```rust use string_utility::{Substring, SubstringKeep};

fn main() { let sometext = "Password: mYsuperSecretPassword -- so secretive [gasp]".tostring();

// with string let result = sometext.keepafterinclude("-- "); let expected = "-- so secretive [gasp]"; asserteq!(result, expected);

// with chars let result = sometext.keepafterinclude('-'); let expected = "-- so secretive [gasp]"; asserteq!(result, expected); } ```

Keep after (excluding)

```rust use string_utility::{Substring, SubstringKeep};

fn main() { let sometext = "Password: mYsuperSecretPassword -- so secretive [gasp]".tostring();

// with string let result = sometext.keepafterexclude("-- "); let expected = "so secretive [gasp]"; asserteq!(result, expected);

// with chars let result = sometext.keepafterexclude('-'); let expected = "- so secretive [gasp]"; asserteq!(result, expected); } ```

Keep before (including)

```rust use string_utility::{Substring, SubstringKeep};

fn main() { let sometext = "Password: mYsuperSecretPassword -- so secretive [gasp]".tostring();

// with string let result = sometext.keepbeforeinclude("-- "); let expected = "Password: mYsuperSecretPassword -- "; asserteq!(result, expected);

// with chars let result = sometext.keepbeforeinclude('-'); let expected = "Password: mYsuperSecretPassword -"; asserteq!(result, expected); } ```

Keep before (excluding)

```rust use string_utility::{Substring, SubstringKeep};

fn main() { let sometext = "Password: mYsuperSecretPassword -- so secretive [gasp]".tostring();

// with string let result = sometext.keepbeforeexclude("-- "); let expected = "Password: mYsuperSecretPassword "; asserteq!(result, expected);

// with chars let result = sometext.keepbeforeexclude('-'); asserteq!(result, expected); } ```