https://github.com/jumperbot/split-every
Split for every n occurrences of a pattern iteratively!
https://github.com/jumperbot/split-every
rust rust-crate rust-lang rust-language rust-library split splitter splitting splitting-text string string-formatting string-manipulation text
Last synced: 3 months ago
JSON representation
Split for every n occurrences of a pattern iteratively!
- Host: GitHub
- URL: https://github.com/jumperbot/split-every
- Owner: JumperBot
- License: mit
- Created: 2024-08-07T03:58:54.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-12-21T13:43:29.000Z (7 months ago)
- Last Synced: 2025-04-06T07:17:23.250Z (3 months ago)
- Topics: rust, rust-crate, rust-lang, rust-language, rust-library, split, splitter, splitting, splitting-text, string, string-formatting, string-manipulation, text
- Language: Rust
- Homepage: https://crates.io/crates/split-every
- Size: 9.77 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# split-every



---
```rust
use split_every::prelude::*;// This prints: [(0, 0), (0, 1)]
// [(0, 0)]
// [(0, 1), (0, 0)]
// [(0, 1)]
let mut splitter: SplitEvery<&[(u8, u8)], &[(u8, u8)]> = [
(0, 0), (0, 1), (0, 0),
(0, 0), (0, 0), (0, 1),
(0, 0), (0, 0), (0, 1),
].split_every_n_times(&[(0, 0)], 2);
println!("{:?}", splitter.next().unwrap());
println!("{:?}", splitter.next().unwrap());
println!("{:?}", splitter.next().unwrap());
println!("{:?}", splitter.next().unwrap());// This prints: "Oh hi there"
// "I don't really"
// "know what to"
// "say".
let mut splitter: SplitEvery<&str, &str> =
"Oh hi there I don't really know what to say".split_every_n_times(" ", 3);
println!("{:?}", splitter.next().unwrap());
println!("{:?}", splitter.next().unwrap());
println!("{:?}", splitter.next().unwrap());
println!("{:?}", splitter.next().unwrap());// This prints: ["This", "is", "you", "This"]
// ["me", "This", "is", "someone", "This"]
// ["them"]
let mut splitter: SplitEvery Option<&'static str>>, &str> = [
["This", "is", "you"],
["This", "is", "me"],
["This", "is", "someone"],
["This", "is", "them"],
]
.iter()
.flatten()
.copied()
.split_every_n_times("is", 2);
println!("{:?}", splitter.next().unwrap());
println!("{:?}", splitter.next().unwrap());
println!("{:?}", splitter.next().unwrap());// This prints: ["This", "is", "you", "This"]
// ["me", "This", "is", "someone", "This"]
// ["them"]
let mut iter = [
["This", "is", "you"],
["This", "is", "me"],
["This", "is", "someone"],
["This", "is", "them"],
].iter().flatten().map(|val| *val);
let mut splitter: SplitEvery Option<&'static str>>, &str> =
SplitEvery::n_times_from_fn(Box::new(move || iter.next()), "is", 2);
println!("{:?}", splitter.next().unwrap());
println!("{:?}", splitter.next().unwrap());
println!("{:?}", splitter.next().unwrap());
```---
## ✨ Split For Every N Occurrences Of A Pattern Iteratively
This crate **helps you** split data for every `n` occurrences of a `pattern`.
It contains an exclusive `iterator`.---
## 📄 Licensing
`split-every` is licensed under the [`MIT LICENSE`](./LICENSE); This is the [`summarization`](https://choosealicense.com/licenses/mit/).