2015-08-10 19 views

risposta

13

È possibile utilizzare un espressione regolare ("([A-Za-z]+)" o "([[:alpha:]]+)" o "(\\w+)") per afferrare la prima parola

Dataframe1$COL2 <- gsub("([A-Za-z]+).*", "\\1", Dataframe1$COL1) 
+0

perché usare 'gsub' quando è necessario sostituire solo prima occorrenza. usa 'sub' – Saksham

+0

@Saksham hai ragione' sub' sarebbe meglio qui, grazie – jenesaisquoi

+0

E se la prima parola fosse un numero: 495 o Q1? Quando provo questa formula mantiene semplicemente "Q" e non Q1, e per 495, prende tutti i numeri successivi: "495 3Be" @nongkrong – Nick

5

La funzione strsplit possono essere utili

Dataframe1$COL2 <- strsplit(Dataframe1$COL1, " ")[[1]][1] 

Quindi è possibile modificare l'ultimo numero tra parentesi a selezionare anche altre parti dalla stringa.

+0

sarebbe inefficiente se è richiesta solo la prima parte – Saksham

7

È possibile utilizzare la funzione di parola() dalla biblioteca (stringr):

Dataframe1$COL2 <- word(Dataframe2$COL1,1)