|
|
Re: Use part of a cell/string
Posted:
Jan 20, 2010 1:39 PM
|
|
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
|
|