Create new document per value in multi-value field

I have 40 columns in a pipeline that all store multiple values per row. They will all have the same number of values per row. They are delimited like:

7{C ;C ;C ;C ;MD;MD;MD}.

My questions are: 1) how do I break the above string into single 7 separate documents and 2) how do I combine all 40 multi-value columns into a individual documents?