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: Use part of a cell/string
Replies: 7   Last Post: Feb 19, 2013 4:26 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
ngreco32@gmail.com

Posts: 734
Registered: 6/3/09
Re: Use part of a cell/string
Posted: Jan 20, 2010 1:39 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

On Jan 20, 8:00 am, "Maarten " <nos...@please.com> wrote:
> I got it!
> I'll put it up here, for those who might wonder how it's done.
>
> if the 'L_500' is stored in d(1,3) you do it as follows:
> a = char(d(1,3))
> b = str2num(a(3:end))
>
> now b is a double value.
>
> Thanks anyway!
>
> "Maarten Repko" <nos...@please.com> wrote in message <hj6tom$85...@fred.mathworks.com>...

> > Ok, I'll try to be more precise.
> > I have a <1x14 cell> array with in each cell just "L_200" or "L_500" etc.. From this array I want to create a matrix with "double" values in it, equal to the nummerical part of the "L_200" etc.

>
> > Right now I have put it in manually as:
> > d(:,1) = [200; 500; 700]

>
> > Thanks
>
> > "Jan Simon" <matlab.THIS_Y...@nMINUSsimon.de> wrote in message <hj6t27$ms...@fred.mathworks.com>...
> > > Dear Maarten!
>
> > > > is it possible to safe only part of a string?
> > > > I have something like "L_500" is a cell NAMES{1,1} and I have to do calculations with the "500 part".

>
> > > With this small amount of information, I can answer just: yes, you can cut a part out of a string. If you want to learn *how* this works, please define the start and end of the substrings precisely here.
>
> > > Kind regards, Jan
>
>


Or, if all of your names consisted of L_###, here's another way to get
all of them at once
Example:
A = {'L_500','L_200','L_300'}
tmp = str2num(cell2mat(cellfun(@(x)regexp(x,'\d\d\d','match'),A)'))
%%%%%%%%%%%%%
tmp =
500
200
300

-Nathan



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.