#overlap #string #str #intersection

no-std str_overlap

寻找两个字符串切片重叠的方法

7 个不稳定版本 (3 个破坏性更新)

使用旧的 Rust 2015

0.4.3 2021年2月4日
0.4.2 2021年2月4日
0.4.1 2021年1月31日
0.3.0 2021年1月28日
0.1.1 2020年10月17日

#1174文本处理

Download history 228/week @ 2024-03-13 255/week @ 2024-03-20 134/week @ 2024-03-27 51/week @ 2024-04-03 61/week @ 2024-04-10 96/week @ 2024-04-17 45/week @ 2024-04-24 39/week @ 2024-05-01 68/week @ 2024-05-08 43/week @ 2024-05-15 80/week @ 2024-05-22 103/week @ 2024-05-29 71/week @ 2024-06-05 81/week @ 2024-06-12 112/week @ 2024-06-19 69/week @ 2024-06-26

每月349 次下载
3 crate 中使用

MIT/Apache

13KB
127 代码行

str_overlap

GitHub Workflow Status codecov.io Crates.io Docs.rs MSRV License

此crate提供寻找两个字符串切片重叠的方法。

重叠在此定义为同时包含在字符串切片的末尾和另一个字符串切片的开始处的最大子串。

使用方法

要使用此crate,将 Overlap trait 带入作用域。这将提供 str 具有两个方法

  • overlap_start - 查找字符串切片的 开始 和另一个字符串切片的 末尾 之间的重叠。
  • overlap_end - 查找字符串切片的 末尾 和另一个字符串切片的 开始 之间的重叠。
use str_overlap::Overlap;

assert_eq!("bcd".overlap_start("abc"), "bc");
assert_eq!("abc".overlap_end("bcd"), "bc");

这些方法的返回值是一个字符串切片,是从调用该方法的字符串借用来的。这两个方法允许调用者选择谁拥有结果字符串切片。

要使用此crate,使用两个字符串切片调用提供的 overlap 函数,一个在左边,一个在右边。

use str_overlap::overlap;

assert_eq!(overlap("abc", "bcd"), "bc");

请注意字符串切片的位置。找到的重叠是同时位于左边字符串切片的末尾和右边字符串切片的开始处的最大子串。

性能

overlap 函数在最坏情况下(找不到重叠)的时间复杂度为 O(n),其中 n 是第一个字符串参数的长度。

最低支持的 Rust 版本

此crate保证在稳定版本的 rustc 1.0.0 及以上版本中编译。

许可证

此项目根据以下任一许可证授权

任选其一。

贡献

除非你明确声明,否则根据 Apache-2.0 许可证的定义,你提交的任何有意包含在作品中的贡献,都将按照上述方式双重许可,不附加任何额外条款或条件。

无运行时依赖