21 lines
638 B
Rust
21 lines
638 B
Rust
use regex::Regex;
|
|
|
|
fn main() {
|
|
let ws_re = Regex::new(r"\s+").unwrap();
|
|
let clean_str = |s: &str| -> String {
|
|
let mut s = ws_re.replace_all(s, " ").into_owned();
|
|
loop {
|
|
let last = s.clone();
|
|
for token in ["(", ")", ",", "{", "}", "\"", "=", "'"] {
|
|
s = s.replace(&format!(" {}", token), token);
|
|
s = s.replace(&format!("{} ", token), token);
|
|
}
|
|
if s == last { break; }
|
|
}
|
|
s.trim().to_string()
|
|
};
|
|
|
|
let input = "INSERT INTO agreego.\"entity\" ( \"created_at\"";
|
|
println!("Expected: {}", clean_str(input));
|
|
}
|