Crate jetscii [−] [src]
A tiny library to efficiently search strings for substrings or sets of ASCII characters.
Examples
Searching for a set of ASCII characters
use jetscii::AsciiChars; let mut search = AsciiChars::new(); search.push(b'-'); search.push(b':'); let part_number = "86-J52:rev1"; let parts: Vec<_> = part_number.split(search.with_fallback(|c| { c == b'-' || c == b':' })).collect(); assert_eq!(&parts, &["86", "J52", "rev1"]);
For maximum performance, you can create the searcher as a constant
item. Print an existing AsciiChars with the debug formatter to
get the appropriate invocation.
use jetscii::AsciiChars; let search = AsciiChars::from_words(0x0000000000002d3a, 0, 2); let part_number = "86-J52:rev1"; let parts: Vec<_> = part_number.split(search.with_fallback(|c| { c == b'-' || c == b':' })).collect(); assert_eq!(&parts, &["86", "J52", "rev1"]);
Searching for a substring
use jetscii::Substring; let colors: Vec<_> = "red, blue, green".split(Substring::new(", ")).collect(); assert_eq!(&colors, &["red", "blue", "green"]);
Structs
| AsciiChars |
Searches a string for a set of ASCII characters. Up to 16 characters may be used. |
| AsciiCharsWithFallback |
Provides a hook for a user-supplied fallback implementation, used when the optimized instructions are not available. |
| DirectSearcher |
A searcher implementation for DirectSearch types. |
| Substring |
Search a string for a substring. |
Traits
| DirectSearch |
Types that return the index of the next match. |