dpb <email@example.com> wrote in message <firstname.lastname@example.org>... > On 11/13/2012 3:56 PM, Kevin Ellis wrote: > > Hello, > > > > 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: > ... > > Is the text fixed or variable? > > If it's fixed and simply values change you can use > > x = sscanf(S,'%f GAL OF SMALL BOAT FUEL @%f'); > > sscanf() isn't flexible in mixing conversion of string and numeric > values but textscan() can. > > In regexp the expression needed would be (assuming F format,not E) > > s=regexp(S,'[0-9.]','match'); > > then convert the resulting strings. > > --
The text is variable. The placement of the numbers will change and also the price per gallon may not appear at all. How can textscan() help me?