def split_string(source,splitlist):
## Variables ##
output = []
start, start_pos, tracker = 0 , 0 , 0
end_pos = 0
## Iterations ##
for char in source:
start = source.find(char,start)
if char in splitlist:
tracker += 1
if tracker <= 1:
end_pos = source.find(char, start)
output.append(source[start_pos:end_pos])
start_pos = end_pos + 1
else:
start_pos+=1
else:
tracker = 0
output.append(source[end_pos+1:])
return output
out = split_string("First Name,Last Name,Street Address,City,State,Zip Code,",",")
print out
ZGVmIHNwbGl0X3N0cmluZyhzb3VyY2Usc3BsaXRsaXN0KToKICAgICMjIFZhcmlhYmxlcyAjIwogICAgb3V0cHV0ID0gW10KICAgIHN0YXJ0LCBzdGFydF9wb3MsIHRyYWNrZXIgPSAwICwgMCAsIDAKICAgIGVuZF9wb3MgPSAwCgogICAgIyMgSXRlcmF0aW9ucyAjIwogICAgZm9yIGNoYXIgaW4gc291cmNlOgogICAgICAgIHN0YXJ0ID0gc291cmNlLmZpbmQoY2hhcixzdGFydCkKICAgICAgICBpZiBjaGFyIGluIHNwbGl0bGlzdDoKICAgICAgICAgICAgdHJhY2tlciArPSAxCiAgICAgICAgICAgIGlmIHRyYWNrZXIgPD0gMToKICAgICAgICAgICAgICAgIGVuZF9wb3MgPSBzb3VyY2UuZmluZChjaGFyLCBzdGFydCkKICAgICAgICAgICAgICAgIG91dHB1dC5hcHBlbmQoc291cmNlW3N0YXJ0X3BvczplbmRfcG9zXSkKICAgICAgICAgICAgICAgIHN0YXJ0X3BvcyA9IGVuZF9wb3MgKyAxCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzdGFydF9wb3MrPTEKICAgICAgICBlbHNlOgogICAgICAgICAgICB0cmFja2VyID0gMAogICAgICAgICAgICAKICAgIG91dHB1dC5hcHBlbmQoc291cmNlW2VuZF9wb3MrMTpdKQoKICAgIHJldHVybiBvdXRwdXQKCgoKb3V0ID0gc3BsaXRfc3RyaW5nKCJGaXJzdCBOYW1lLExhc3QgTmFtZSxTdHJlZXQgQWRkcmVzcyxDaXR5LFN0YXRlLFppcCBDb2RlLCIsIiwiKQpwcmludCBvdXQ=