Search contents using iterators
This commit is contained in:
parent
cbca3bd0d8
commit
73426dd5e0
1 changed files with 8 additions and 17 deletions
|
@ -50,28 +50,19 @@ pub fn run(config: Config) -> Result<(), Box<dyn Error>> {
|
|||
}
|
||||
|
||||
pub fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> {
|
||||
let mut results = Vec::new();
|
||||
|
||||
for line in contents.lines() {
|
||||
if line.contains(query) {
|
||||
results.push(line);
|
||||
}
|
||||
}
|
||||
|
||||
results
|
||||
contents
|
||||
.lines()
|
||||
.filter(|line| line.contains(query))
|
||||
.collect()
|
||||
}
|
||||
|
||||
pub fn search_case_insensitive<'a>(query: &str, contents: &'a str) -> Vec<&'a str> {
|
||||
let query = query.to_lowercase();
|
||||
let mut results = Vec::new();
|
||||
|
||||
for line in contents.lines() {
|
||||
if line.to_lowercase().contains(&query) {
|
||||
results.push(line);
|
||||
}
|
||||
}
|
||||
|
||||
results
|
||||
contents
|
||||
.lines()
|
||||
.filter(|line| line.to_lowercase().contains(&query))
|
||||
.collect()
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue