Avatar ·

Wie ersetzt man idiomatisch bestimmte Zeichen in einem String in Rust?

Hallo zusammen! Ich habe gerade angefangen, Rust zu lernen, und bin auf ein Problem bei der Arbeit mit Strings gestoßen. Ich muss alle Vorkommen bestimmter Zeichen in einem String durch andere Zeichen ersetzen. Zum Beispiel habe ich einen String "hello-world_foo" und möchte den Bindestrich und den Unterstrich durch Leerzeichen ersetzen, um "hello world foo" zu erhalten.\n\nIn Python würde ich einfach `s.replace('-', ' ').replace('_', ' ')` machen. Aber in Rust finde ich keinen so einfachen Weg. Ich habe versucht, die Methode `replace` zu verwenden, aber sie funktioniert nur mit einem Zeichen oder Teilstring auf einmal:\n\n```rust\nlet s = "hello-world_foo";\nlet result = s.replace("-", " ").replace("_", " ");\nprintln!("{}", result); // "hello world foo"\n```\n\nDas funktioniert, aber es scheint mir nicht sehr effizient und nicht idiomatisch für Rust. Ich habe gehört, dass es reguläre Ausdrücke g