identification division.

       program-id.  test-unstring.

       data division.

       working-storage section.

      

       01  test1 pic x(16)  value "reeves,kathryn,m".

       01  test1a pic x(16) value "xu,tia,j".

       01  test2 pic x(18)  value "reeves, kathryn, m".

       01  test3  pic x(18) value "reeves, kathryn m.".

      

       01  name-out.

           05 last-name            pic x(10).

           05 rest-of-name.

               10  first-name      pic x(10).

               10  middle-init     pic x.

 

       01  temp-name               pic x(11).

      

       procedure division.

       100-200.

          

           unstring test1

               delimited by ","

               into last-name first-name middle-init.

           display "last-name = ", last-name.

           display "first-name = ", first-name.

           display "middle-init = ", middle-init.

 

      * ANSWERS for above section of code:

      * reeves

      * kathryn

      * m

 

           unstring test1a

               delimited by ","

               into last-name first-name middle-init.

           display "last-name = ", last-name.

           display "first-name = ", first-name.

           display "middle-init = ", middle-init.

          

      * ANSWERS for above section of code:

      * xu

      * tia

      * j

      * notice does not retain previous info like string

          

           unstring test2

               delimited by ", "

               into last-name first-name middle-init.

           display "last-name = ", last-name.

           display "first-name = ", first-name.

           display "middle-init = ", middle-init.

          

      * ANSWERS for above section of code:

      * reeves

      * kathryn

      * m

 

           unstring test3

               delimited by ", " or " "

               into last-name first-name middle-init.

           display "last-name = ", last-name.

           display "first-name = ", first-name.

           display "middle-init = ", middle-init.

          

      * ANSWERS for above section of code:

      * reeves

      * kathryn

      * m

      **********************************************************

      * changed above delimited by string order

 

           unstring test3

               delimited by " " or ", "

               into last-name first-name middle-init.

           display "NEW one"

           display "last-name = ", last-name.

           display "first-name = ", first-name.

           display "middle-init = ", middle-init.

          

      * ANSWERS for above section of code:

      * reeves

      * kathryn

      * m

      **********************************************************   

      * delete blank in ",b" delimited by string

 

           unstring test3

               delimited by " " or ","

               into last-name first-name middle-init.

           display "NEW two"

           display "last-name = ", last-name.

           display "first-name = ", first-name.

           display "middle-init = ", middle-init.

          

      * ANSWERS for above section of code:

      * reeves

      *

      * k

      ********************************************************** 

     

           unstring test3

               delimited by ", "

               into last-name rest-of-name.

           display "last-name = ", last-name.

           display "rest-of-name = ", rest-of-name.

           display "first-name = ", first-name.

           display "middle-init = ", middle-init.

 

      * ANSWERS for above section of code:

      * reeves

      * kathryn m.

      * kathryn m.

      * (blank)

          

           unstring rest-of-name

               delimited by " "

               into first-name middle-init.

           display "last-name = ", last-name.

           display "rest-of-name = ", rest-of-name.

           display "first-name = ", first-name.

           display "middle-init = ", middle-init.

 

      * ANSWERS for above section of code:

      * reeves

      * kathryn

      * kathryn

      * (blank)

      ***********************************************************

 

           display " ".

     

           unstring test3

               delimited by ", "

               into last-name rest-of-name.

           display "last-name = ", last-name.

           display "rest-of-name = ", rest-of-name.

 

      * ANSWERS for above section of code:

      * reeves

      * kathryn m.

          

           move rest-of-name to temp-name.

 

           unstring temp-name

               delimited by " "

               into first-name middle-init.

 

           display "rest-of-name = ", rest-of-name.

           display "temp-name = ", temp-name.

           display "first-name = ", first-name.

           display "middle-init = ", middle-init.

 

      * ANSWERS for above section of code:

      * kathryn    m

      * kathryn m.

      * kathryn

      * m

          

           accept omitted.

           stop run.