select regexp_substr((replace(replace(replace((\'CA\',\'CO\',\'IL\',\'KS\'),chr(40)),chr(41)), chr(39))), \'[^,]+\', 1, level) as division from dual
You have a quotation problem(quote the whole term ('CA','CO','IL','KS')
after adding extra quotes per each single quote), try this rather :
SELECT regexp_substr((replace(replace(replace('(''CA'',''CO'',''IL'',''KS'')',
chr(40)),
chr(41)),
chr(39))), '[^,]+', 1, level) AS division
FROM dual
CONNECT BY level <= regexp_count('(''CA'',''CO'',''IL'',''KS'')', ',') + 1;
DIVISION
--------
CA
CO
IL
KS
Demo