2017-04-04 5 views
0

Ich muss herausfinden, wie Sie die Zeichen für jeden Eintrag in einem Zeichenvektor trimmen. Ich habe gesucht und versucht, ein^zu verwenden, wenn ich auf den Vektor zurückkomme, aber es hat nicht funktioniert. Ich bin mir sicher, dass es einen einfachen Weg gibt, den ich nicht kenne.R Trimmen Zeichen von Elementen in Vektor

Beispiel:

CV <- c("ABC_001", "ABC_002", "DEF_003", "DEF_004", "GHIJKLM_005", "GHIJKLM_006") 

Wunschgröße Zeichenvektor CV:

"ABC","ABC","DEF","DEF","GHIJKLM","GHIJKLM" 

Vielen Dank für Ihre Hilfe!

+1

'Bibliothek (stringr)' und 'str_extract (CV "[A-Z] *")'. Wenn anticiaping Kleinbuchstaben sowie 'str_extract (CV, "[a-zA-Z] *") ' –

+2

Entfernen Sie aus dem Unterstrich zurück' sub ("_. *", "", CV) ' –

+0

@RichScriven - sicherlich a duplizieren - vielleicht http://stackoverflow.com/questions/17187552/removing-everything-after-first-backlash-in-a-string ist nahe genug? – thelatemail

Antwort

2

gsub("[^A-Z]", "", CV)

https://regex101.com/ fand ich diese Seite sehr hilfreich für reguläre Ausdrücke zu testen. Viel Glück!

1

In diesem speziellen Beispiel scheint es, dass Sie mehr zu spalten möchten Ihre Zeichenfolgen mit dem Unterstrich-Symbol. Wenn das der Fall ist, können Sie strsplit verwenden:

sapply (strsplit (CV, split = "_"), "[", 1) 
Verwandte Themen