2016-11-29 2 views
1

BeispielR: wie eine Zeichenkette aufzuspalten Kommata gemäß comma

string <- "field1,field2,\"there is a , in field3\", field4, \"2,456\", field6" 

Ein negativer Versuch enthält:

test <- unlist(strsplit(noquote(string), ",")) 
test <- gsub("[^A-Za-z0-9' ']", "", test) 
gsub("^\\s+|\\s+$", "", test) 

[1] "field1"  "field2"  "there is a" "in field3" 
[5] "field4"  "2"   "456"  "field6"  

Hinweis, dass Felder Komma zwischen \" ... \" enthält.

+0

Was ist Ihr ideales Ergebnis? – Nate

+2

Versuchen Sie read.table (text = string, sep = ","). Es wird Kommas in Anführungszeichen ignorieren. Es funktioniert an deinem Beispiel. – gfgm

+0

Ich liebe einfache Antworten :-) Wenn Sie es zu einer Antwort konvertieren, werde ich es akzeptieren! Danke! – Marco

Antwort

2

Die read.table-Funktion ignoriert Kommas in Anführungszeichen.

string <- "field1,field2,\"there is a , in field3\", field4, \"2,456\", field6" 

desired_result <- read.table(text=string, sep=",") 
Verwandte Themen