Date: Nov 13, 2012 4:56 PM
Author: Kevin Ellis
Subject: Parsing Strings
I have a question regarding parsing strings. Suppose I have a string:
S = '42.714 GAL OF SMALL BOAT FUEL @3.699 PER GAL.'
I have been trying to figure out a way to remove the numbers 42.714 and 3.699 from the string. I have tried using 'sscanf' and 'regexp' to do this. Using regexp I can find the index of the numbers:
idx = regexp(S,'\d')
1 2 4 5 6 32 34 35 36
But this is not working because the decimal point is not being identified. For my problem, it is not safe to assume that the character in index 3 is always a decimal point. It may just be a blank space. Thus, I was wondering if there was a better way to approach this problem. Again, I am simply looking to remove the numbers from the string (decimal point included). Any help would be much appreciated.