Ersetze aufeinanderfolgende Zeichen mit demselben einzelnen Zeichen

8

Ich habe mich nur gefragt, ob es einen einfachen Weg dafür gibt. d.h. Ersetzen des Auftretens aufeinanderfolgender Zeichen durch dasselbe Zeichen.

Für zB: - wenn mein String "etwas wieeeee tttthhiiissss" ist, dann sollte meine endgültige Ausgabe "so etwas wie" sein.

Die Zeichenfolge kann auch Sonderzeichen einschließlich Leerzeichen enthalten.

Können Sie uns einen einfachen Weg vorschlagen, dies zu tun?

    
Sachin Shanbhag 19.10.2010, 18:23
quelle

4 Antworten

11

Das sollte es tun:

%Vor%

Die Regex passt auf jedes Zeichen (.) und \1+ wird mit dem übereinstimmen, was in der ersten Gruppe erfasst wurde.

    
alexn 19.10.2010, 18:27
quelle
2
%Vor%     
Gabriel McAdams 19.10.2010 18:27
quelle
1

Wie wäre es mit:

%Vor%

Im Englischen erstellen wir einen neuen String basierend auf einem char [] Array. Wir konstruieren das Array char [] durch Anwenden einiger LINQ-Operatoren:

  1. Select : Erfassen Sie den Index i zusammen mit dem aktuellen Zeichen x .
  2. Filtere Charater aus, die nicht mit dem nachfolgenden Zeichen
  3. identisch sind
  4. Wählen Sie das Zeichen x.x aus dem anonymen Typ x .
  5. aus
  6. Konvertiere zurück in ein char [] Array, so dass wir zum Konstruktor von string .
  7. gelangen können
Kirk Woll 19.10.2010 18:27
quelle
0
%Vor%

In diesem Code das Programm;

  1. liest die Zeichenfolge wie von Benutzer
  2. eingegeben

2.Konvertieren Sie die Zeichenfolge in char Array mit string.ToChar ()

  1. Die Schleife wird für jedes Zeichen in der Zeichenfolge

  2. ausgeführt
  3. Jedes an dieser bestimmten Position im Array gespeicherte Zeichen wird mit dem an der ersten Position gespeicherten Zeichen verglichen. Wenn die Zeichen gleich sind, wird das in diesem Array gespeicherte Zeichen mit .ToTrim ()

  4. abgeschnitten
  5. Für das letzte Zeichen zeigt die Schleife den Fehler des Index außerhalb des Bereichs an, da dies der letzte Positionswert des Arrays wäre. Deshalb habe ich * if ((!! = (Str.Length - 1))) *

  6. verwendet

6. Die Zeichen, die nach dem Trimmen übrig sind, werden in der verketteten Form gespeichert.

    
Hibbah Nadeem 19.11.2017 09:33
quelle

Tags und Links