Regulärer Ausdruck zum Entfernen führender Zeichen bis zur ersten gefundenen Ziffer

7

Ich habe eine Zeichenfolge mit dem Titel thisLine, und ich möchte alle Zeichen vor der ersten Ganzzahl entfernen. Ich kann den Befehl

verwenden %Vor%

um die Position der ersten ganzen Zahl zu bestimmen. Wie verwende ich diesen Index, um die Zeichenfolge zu teilen?

    
user984165 21.12.2012, 21:58
quelle

3 Antworten

11

Die kurze Antwort:

%Vor%

wo

  • ^ entspricht dem Anfang der Zeichenfolge
  • \D entspricht einer beliebigen Nicht-Ziffer (es ist das Gegenteil von \d )
  • \D* versucht, so viele aufeinanderfolgende Nicht-Ziffern wie möglich zu finden
flodel 22.12.2012, 02:13
quelle
6

Meine persönliche Vorliebe, indem ich regexp insgesamt überspringe:

%Vor%     
Blue Magister 21.12.2012 22:15
quelle
6

Sie möchten die Funktion substring .

Oder verwenden Sie gsub , um auf einmal zu arbeiten:

%Vor%

Sie können diese erste Ziffer einfügen, die mit einem Capture durchgeführt werden kann:

%Vor%

Oder wie flodel und Alan angeben, ersetzen Sie einfach "alle führenden Ziffern" durch ein Leerzeichen. Siehe flodels Antwort.

    
Matthew Lundberg 21.12.2012 22:03
quelle

Tags und Links