1
1
mirror of https://github.com/theoludwig/programming-challenges.git synced 2024-07-18 02:20:12 +02:00

feat(solutions): add slugify/rust/function

This commit is contained in:
Divlo 2023-01-04 18:16:29 +01:00
parent 1d87185e58
commit 257ab19f53
No known key found for this signature in database
GPG Key ID: 8F9478F220CE65E9
4 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "rust_application"
version = "1.0.0"

View File

@ -0,0 +1,6 @@
[package]
name = "rust_application"
version = "1.0.0"
edition = "2021"
[dependencies]

View File

@ -0,0 +1,3 @@
# slugify/rust/function
Created by [@Divlo](https://github.com/Divlo) on 4 January 2023.

View File

@ -0,0 +1,22 @@
use std::io;
fn main() {
let mut string = String::new();
io::stdin()
.read_line(&mut string)
.expect("Failed to read `stdin` line.");
let string = string.trim().trim_matches('-');
let mut answer = String::new();
let mut current = String::new();
for (_, character) in string.chars().enumerate() {
if character.is_whitespace() || (character == '-' && current.chars().count() > 0) {
answer.push_str(&current);
answer.push('-');
current.clear();
} else if character.is_alphanumeric() {
current.push(character);
}
}
answer.push_str(&current);
println!("{answer}");
}