Entfernen Sie überschüssiges Leerraum von der Zeichenfolge

7

Ich möchte die überschüssigen Leerzeichen mit VB.net entfernen

ex.

%Vor%

Ich möchte Ausgabe

%Vor%

Danke, Inchika

    
maria 14.04.2011, 12:27
quelle

4 Antworten

22

Sie können dafür einen einfachen regulären Ausdruck verwenden:

%Vor%     
Fredrik Mörk 14.04.2011 12:31
quelle
6

Ich stelle fest, dass diese Frage ziemlich alt ist, aber es gibt eine andere Option, die Regex nicht einschließt, oder manuell die Zeichenfolge durchläuft und ersetzt:

%Vor%

Und das C # -Aquivalent:

%Vor%

Verwenden eines "Null" -Werts als Trennzeichen auf String.Split bewirkt, dass das Teilzeichenzeichen alle Zeichen sind, die true zurückgeben, wenn sie an Char.IsWhiteSpace . Wenn Sie die Methode auf diese Weise aufrufen, wird die Zeichenfolge in alle Leerzeichen aufgeteilt, die leeren Zeichenfolgen entfernt und dann mit einem einzelnen Leerzeichen zwischen den einzelnen geteilten Datenelementen erneut verknüpft.

    
bhamby 13.08.2014 14:28
quelle
4

Was Sie eigentlich wollen, ist das Komprimieren von mehreren weißen Leerräumen zu einem einzigen Leerzeichen. Eine Möglichkeit besteht darin, nach zwei Leerzeichen zu suchen und sie durch ein einzelnes Leerzeichen zu ersetzen, bis keine zwei benachbarten Leerzeichen mehr vorhanden sind das:

%Vor%

Dies ist jedoch nicht narrensicher, weil einige Ideasyncracies von .net-Strings dazu führen könnten eine Endlosschleife, aber nur für einige sehr seltsame Eingaben.

EDIT: Diese bestimmte Verarbeitung ist schneller (und einfacher) mit einem regulären Ausdruck, wie in den anderen Antworten gezeigt.

    
SWeko 14.04.2011 12:35
quelle
3

Versuchen Sie Folgendes:

%Vor%     
Chandu 14.04.2011 12:31
quelle

Tags und Links