Hallo, stehe gerade nen bissel auffem Schlauch:
Schreibe für Codewars an einem Programm, welches Zahlen in englisch von 1 bis 1 Million (als Wörter) in Strings umwandelt.
Nun soll das 'and' optional sein, und ich würde es gerne rauslöschen, bevor ich den String bearbeite:
s = s.Replace("and", ""); // remove optional 'and'
var parts = s.Split(' ');
liefert mir für four hundred and fifty-two
statt drei Teile vier Teile, nämlich
"four", "hundred", "" , "fifty-two"
Was mache ich da falsch, wie bekomme ich das leere Feld weg?
Hallo,
nimm die Überladung für String.Split
, die StringSplitOptions
annimmt, und übergebe StringSplitOptions.RemoveEmptyEntries
.
Das hättest Du leicht selbst der Doku entnehmen können.
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Alter, ich habs, ich muss "and " durch "" ersetzen, sonst bekomme ich zwei Leerzeichen ...
Ker, was bin ich blöd ... Facepalm
Die Lösung von MarsStein ist aber sinnvoller, denn wenn jemand ausversehen 2 Leerzeichen eingibt z.B. "and_" dann hast du wieder das Problem
Wenn du statt "and" noch ein Leerzeichen dran hängst -> "and " dann bleibt nur ein Leerzeichen übrig.
Oder du ersetzt " and " (vorne und hinten ein Leerzeichen) durch ein Leerzeichen.
Aber hier noch eine andere Idee, die ich sicherer finde.
Du wandelst ja selbst Zahlen in den String um, das heißt du fügst das "and" selbst ein, wenn ich das richtig verstanden habe.
Statt das erst einzufügen und dann wieder rauszulöschen, füge doch einfach keinen festen Wert ein sondern eine Variable. Die enthält entweder "and" (besser noch mit Leerzeichen) oder einen Leerstring.