14 releases (2 stable)
1.0.1 | Feb 14, 2021 |
---|---|
0.1.11 | Mar 18, 2019 |
0.1.10 | Mar 22, 2018 |
0.1.9 | Nov 23, 2017 |
#2549 in Parser implementations
Used in instagram-hashtag-parser
17KB
386 lines
Hashtag
A parser for finding hashtags in strings. For example parsing Rust is #awesome
gives you awesome
and its location within the string.
The goal of this crate is to match Instagram's parsing of hashtags. So if you find strings that aren't parsed correctly please open an issue 😃
Sample usage
use hashtag::{Hashtag, HashtagParser};
use std::borrow::Cow;
let mut parser = HashtagParser::new("#rust is #awesome");
assert_eq!(
parser.next().unwrap(),
Hashtag {
text: Cow::from("rust"),
start: 0,
end: 4,
}
);
assert_eq!(
parser.next().unwrap(),
Hashtag {
text: Cow::from("awesome"),
start: 9,
end: 16,
}
);
assert_eq!(parser.next(), None);
Benchmarking
I have written a fairly simple benchmarking.
Run it with:
cargo build --release && ./target/release/benchmark
Contribution
Contributions are more than welcome!
License
hashtag
is available under the MIT license. See the LICENSE file for more info.
Dependencies
~165KB