import re
df_tpdownloads = [" and training requirements for selected salt applications",
"december 31",
"experimental system for salt in an emergence research and applications in process heat"]
#for pubtitle in df_tpdownloads['PublicationTitleSplit']:
for pubtitle in df_tpdownloads:
result = list(filter(None, re.split(r'\s*\b\w{1,3}\b\s*|[^\w\s]+', pubtitle.strip().lower())))
print(result)
# => ['training requirements', 'selected salt applications']
# => ['december']
# => ['experimental system', 'salt', 'emergence research', 'applications', 'process heat']
aW1wb3J0IHJlCgpkZl90cGRvd25sb2FkcyA9IFsiIGFuZCB0cmFpbmluZyByZXF1aXJlbWVudHMgZm9yIHNlbGVjdGVkIHNhbHQgYXBwbGljYXRpb25zIiwKCQkJCSAgImRlY2VtYmVyIDMxIiwKCQkJCSAgImV4cGVyaW1lbnRhbCBzeXN0ZW0gZm9yIHNhbHQgaW4gYW4gZW1lcmdlbmNlIHJlc2VhcmNoIGFuZCBhcHBsaWNhdGlvbnMgaW4gcHJvY2VzcyBoZWF0Il0KCiNmb3IgcHVidGl0bGUgaW4gZGZfdHBkb3dubG9hZHNbJ1B1YmxpY2F0aW9uVGl0bGVTcGxpdCddOgpmb3IgcHVidGl0bGUgaW4gZGZfdHBkb3dubG9hZHM6CglyZXN1bHQgPSBsaXN0KGZpbHRlcihOb25lLCByZS5zcGxpdChyJ1xzKlxiXHd7MSwzfVxiXHMqfFteXHdcc10rJywgcHVidGl0bGUuc3RyaXAoKS5sb3dlcigpKSkpCglwcmludChyZXN1bHQpCiAgICAJCgojID0+IFsndHJhaW5pbmcgcmVxdWlyZW1lbnRzJywgJ3NlbGVjdGVkIHNhbHQgYXBwbGljYXRpb25zJ10KIyA9PiBbJ2RlY2VtYmVyJ10KIyA9PiBbJ2V4cGVyaW1lbnRhbCBzeXN0ZW0nLCAnc2FsdCcsICdlbWVyZ2VuY2UgcmVzZWFyY2gnLCAnYXBwbGljYXRpb25zJywgJ3Byb2Nlc3MgaGVhdCdd