Take a vector, with some seperator (i.e., ;), vec and expand it into a data.frame, filling in NA positions:
1 2 3 4 5 6 7
vec <- strsplit(as.character(vec), ";") df <- rbind.fill( lapply( tmp, function(x) data.frame(t(x)) ) ) df <- as.data.frame(df)