#string #slice #lexer

不使用 std 分割器

字符串和切片分割库

9 个版本

0.2.5 2022 年 9 月 6 日
0.2.4 2022 年 9 月 6 日
0.2.2 2022 年 7 月 12 日
0.1.3 2022 年 7 月 9 日

175无标准库

每月 24 次下载

MIT 许可证

32KB
703

分割器

API Crate

字符串和切片分割库

字符串示例

use splitter::StrSplitter;

let sp = StrSplitter::new("bytes example", " ");
assert_eq!(
    sp.collect::<Vec<_>>(),
    vec!["bytes", " ", "example"],
);

切片示例

use splitter::Splitter;

let sp = Splitter::new(&[1, 2, 3, 3, 4], [[2], [4]]);
let re: Vec<&[usize]> = vec![&[1], &[2], &[3, 3], &[4]];
assert_eq!(sp.collect::<Vec<_>>(), re);

查看示例以获取更多信息

功能

  • std - 启用标准库(目前仅与 impls - 功能一起使用)
  • impls - 自动为 InfoStrInfo 实现 corestd 中的有用类型
  • infos - 添加预定义的有用 InfoStrInfo 类型
  • derive - 启用 InfoStrInfo derive 宏
  • full - 启用所有功能

自动实现

impls - 功能

  • core::pin::Pin
  • core::marker::PhantomData
  • core::marker::PhantomPinned
  • core::mem::ManuallyDrop
  • core::cell::Cell
  • core::cell::RefCell
  • core::cell::UnsafeCell
  • core::ops::Range
  • core::ops::RangeInclusive

implsstd - 功能

  • std::boxed::Box
  • std::rc::Rc
  • std::sync::Arc
  • std::sync::Mutex
  • std::sync::RwLock
  • std::vec::Vec(仅用于切片)
  • std::path::PathBuf(仅用于字符串)
  • std::string::String(仅用于字符串)

依赖项

~215KB