Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie lösche ich alle leeren Einträge nach einem String.Split()?
CoderboyPB
myCSharp.de - Member



Dabei seit:
Beiträge: 291
Herkunft: Paderborn

Themenstarter:

Wie lösche ich alle leeren Einträge nach einem String.Split()?

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3429
Herkunft: Trier -> München

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
CoderboyPB
myCSharp.de - Member



Dabei seit:
Beiträge: 291
Herkunft: Paderborn

Themenstarter:

beantworten | zitieren | melden

Alter, ich habs, ich muss "and " durch "" ersetzen, sonst bekomme ich zwei Leerzeichen ...

Ker, was bin ich blöd ... *Facepalm*
private Nachricht | Beiträge des Benutzers
JimStark
myCSharp.de - Member

Avatar #dOpLzh7hN1az1g0eGRc0.jpg


Dabei seit:
Beiträge: 225

beantworten | zitieren | melden

Die Lösung von MarsStein ist aber sinnvoller, denn wenn jemand ausversehen 2 Leerzeichen eingibt z.B. "_and__" dann hast du wieder das Problem
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von JimStark am .
private Nachricht | Beiträge des Benutzers
chilic
myCSharp.de - Experte



Dabei seit:
Beiträge: 2111

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers