2017-05-18 2 views
-2

Ich möchte einen bestimmten numerischen Wert sowie Text im ersten Teil einer Zeichenfolge entfernen, ohne die numerischen Werte in der Zeichenfolge zu ändern letzter Teil der Saite.
Das Problem ist das Skript, das ich, wenn die numerischen Werte schrieb an die Zahlen gleichwertig ersetzt werden soll Ich will nicht alles ändert ersetzt werden: Ursprünglicher Text string: DA1*01:01:01Ersetzen eines einzelnen numerischen Werts in einer Zeichenfolge, die mehrere Kopien desselben zu ersetzenden numerischen Werts enthält

qlaST$DA1.1new <- gsub("[DA1*]", "", qlaST$DA1.1, perl = TRUE) 

Ergebnis:

0:0:0 

aber ich will

01:01:01. 

Antwort

0
gsub("DA[0-9]\\*", "", 'DA1*01:01:01') 
[1] "01:01:01" 
erzeugen

oder id die ‚DA‘ wörtliche durch eine unbekannte Anzahl von Ziffern folgen Sie hinzufügen können ‚*‘ nach dem [0-9] eine beliebige Anzahl von Ziffern enthalten, die Sie dh haben:

gsub("DA[0-9]*\\*", "", 'DA1234569*01:01:01') 
[1] "01:01:01" 
+0

Dank Mouad aber es funktioniert nicht, weil ich in meiner Datei viele verschiedene Zahlenkombinationen mit '1' habe, z 05: 05: 01: 01, 01: 03: 01: 02, 02: 01: 01: 01, 09:01:01, 09:01:02 usw. Also brauche ich eine allgemeinere Formel. – Mona

+0

Ich habe die Antwort bearbeitet, um das Update zu reflektieren –

+0

Ich nehme an, wenn Sie eine Liste Ihrer Eingaben und Ausgaben veröffentlichen, hätten wir eine bessere Idee. –

Verwandte Themen