Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: Parsing Strings
Replies: 3   Last Post: Nov 13, 2012 7:19 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Kevin Ellis

Posts: 53
Registered: 11/29/10
Re: Parsing Strings
Posted: Nov 13, 2012 7:19 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

"Kevin Ellis" wrote in message <k7umqo$mph$1@newscl01ah.mathworks.com>...
> dpb <none@non.net> wrote in message <k7uma4$f1d$1@speranza.aioe.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?
>
> Kevin


I looked into the help file for textscan(). That could actually work. I tried to read the string into a cell array using textscan().

C = textscan(S,'%s')

C =
{9x1} cell

Is there any way to read each individual word separated by a blank space into a cell array of size {1,9}? More explicitly, is there a way to read each word of the string into an individual cell element? That would be more helpful to me.

Kevin



Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.