7 个不稳定版本 (3 个破坏性更新)
使用旧的 Rust 2015
0.4.3 | 2021年2月4日 |
---|---|
0.4.2 | 2021年2月4日 |
0.4.1 |
|
0.3.0 | 2021年1月28日 |
0.1.1 | 2020年10月17日 |
#1174 在 文本处理
每月349 次下载
在 3 crate 中使用
13KB
127 代码行
str_overlap
此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 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- 麻省理工学院许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确声明,否则根据 Apache-2.0 许可证的定义,你提交的任何有意包含在作品中的贡献,都将按照上述方式双重许可,不附加任何额外条款或条件。