Entfernen führender Nullen aus alphanumerischen Zeichen in R

8

Ich habe einen Zeichenvektor d mit alphanumerischen Zeichen

%Vor%

Wie kann ich die führenden Nullen von allen Zahlen in R entfernen?   as.numeric entfernt alle führenden Nullen nur in numerischen oder Integer-Vektoren. Ich habe gsub mit regex ausprobiert, konnte aber nicht die gewünschten Ergebnisse erzielen.

Die erwartete Ausgabe ist wie folgt

%Vor%     
Crops 08.05.2014, 10:01
quelle

2 Antworten

13

Sie können ein negatives Lookbehind verwenden, um 0 zu eliminieren, sofern keine Ziffer vorangestellt ist:

%Vor%

Ein anderer Weg mit Regex:

%Vor%     
devnull 08.05.2014, 10:12
quelle
7

Hier ist die Lösung, die stri_replace_all_regex aus dem Paket stringi verwendet:

%Vor%

Erläuterung: Wir stimmen alle Ziffernfolgen innerhalb von Wortgrenzen ab ( \b ). Nachgestellte Nullen werden gierig zugeordnet ( 0+ ). Die restlichen Ziffern ( \d bezeichnet eine Ziffer, \d+ bezeichnet ihre nicht leere Sequenz) werden innerhalb einer Gruppe ( (...) ) erfasst. Dann ersetzen wir alle diese Übereinstimmungen nur durch die in Gruppen erfassten Daten.

Wenn Sie auch 0s in Wörtern entfernen möchten (wie in Ihrem Beispiel), geben Sie \b einfach aus und rufen Sie:

%Vor%     
gagolews 08.05.2014 10:09
quelle

Tags und Links