Generic string parser