hashtag

Crates.iohashtag
lib.rshashtag
version1.0.1
sourcesrc
created_at2017-11-22 11:55:31.888468
updated_at2021-02-14 14:14:17.529632
descriptionA hashtag parser
homepage
repositoryhttps://github.com/davidpdrsn/hashtag-rs
max_upload_size
id40225
size29,507
David Pedersen (davidpdrsn)

documentation

https://docs.rs/hashtag/1.0.1/hashtag/

README

Crates.io Docs maintenance-status

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.

Commit count: 51

cargo fmt