It seems that : can be used delimiter between "label" and value.
I would read this file with
fid = fopen('data.txt');
cac = textscan( fid, '%s%f', 'Delimiter',':', 'Whitespace','' );
Inspect the result
'Time of Applicability(s)'
Your code will work if you replace
"work consistently with space delimited strings"   space shouldn't be a problem. However, the parentheses, (), requires an escape character, \( and \), respectively.