#byte-slice #string-search #string #byte #ascii #search #simd

jetscii

一个用于高效搜索ASCII字符集合或字节集合的字符串和字节切片的小型库

13个版本

使用旧的Rust 2015

0.5.3 2022年7月7日
0.5.1 2021年9月18日
0.5.0 2021年5月6日
0.4.4 2019年6月10日
0.3.1 2015年7月29日

#201 in 文本处理

Download history 9114/week @ 2024-03-14 19396/week @ 2024-03-21 14166/week @ 2024-03-28 4667/week @ 2024-04-04 4502/week @ 2024-04-11 3624/week @ 2024-04-18 3567/week @ 2024-04-25 4528/week @ 2024-05-02 2552/week @ 2024-05-09 2908/week @ 2024-05-16 2505/week @ 2024-05-23 2771/week @ 2024-05-30 3350/week @ 2024-06-06 3034/week @ 2024-06-13 3228/week @ 2024-06-20 3325/week @ 2024-06-27

13,431 每月下载量
49 个crates中使用 (14直接)

MIT/Apache

57KB
1.5K SLoC

Jetscii

一个用于高效搜索字符串中的ASCII字符集合或字节切片中的字节集合的小型库。

Current Version Documentation

示例

搜索ASCII字符集合

#[macro_use]
extern crate jetscii;

fn main() {
    let part_number = "86-J52:rev1";
    let first = ascii_chars!('-', ':').find(part_number);
    assert_eq!(first, Some(2));
}

搜索字节集合

#[macro_use]
extern crate jetscii;

fn main() {
    let raw_data = [0x00, 0x01, 0x10, 0xFF, 0x42];
    let first = bytes!(0x01, 0x10).find(&raw_data);
    assert_eq!(first, Some(1));
}

有关功能标志和基准测试的信息,请参阅文档

贡献

  1. 分叉它 (https://github.com/shepmaster/jetscii/fork)
  2. 创建你的功能分支 (git checkout -b my-new-feature)
  3. 添加一个失败的测试。
  4. 添加代码以通过测试。
  5. 提交你的更改 (git commit -am 'Add some feature')
  6. 确保测试通过。
  7. 推送到分支 (git push origin my-new-feature)
  8. 创建一个新的Pull Request

无运行时依赖