Been trying to extract this column into separate columns. There is always ^ as a separator between the fields.

Lastname^Firstname^^^II
Last-name^First-name^^^III
Lastname^Firstname^I^^MD
Lastname^Firstname^Middlename
Lastname^Firstname^Middlename^^II
Lastname^Firstname

Last name formula I'm using and this works fine for all entries, this one was easiest:
=IFERROR(LEFT(B2,IF(ISERROR(FIND("^",B2,1)),LEN(B2),FIND("^",B2,1)-1)),"")

First-name works on most except when "Lastname^Firstname" entry is encountered
=IFERROR(MID(B2,SEARCH("^",B2,1)+1,SEARCH("^",B2,SEARCH("^",B2,1)+1)-SEARCH("^",B2,1)-1),"")

Now for Middleinitial/Middlename and for Suffix I'm having trouble and would appreciate help

Thanks in advance!