strsplit
is a crate that provides a Strsplit
struct and a utility function until_char
for splitting strings efficiently.
Add this to your Cargo.toml
:
[dependencies]
strsplit = "0.1.1"
Then you can use it in your code:
use strsplit::Strsplit;
let haystack = "a,b,c,d,e,f";
let letters: Vec<_> = Strsplit::new(&haystack, ",").collect();
assert_eq!(letters, vec!["a", "b", "c", "d", "e", "f"]);
The until_char function returns the string before the first instance of the delimiter is found.
use strsplit::until_char;
let haystack = "hello";
let trimmed = until_char(&haystack, 'o');
assert_eq!(trimmed, "hell");