Filter löschen
Filter löschen

selecting only the numbers from a string variable

408 Ansichten (letzte 30 Tage)
antonet
antonet am 10 Jul. 2012
Kommentiert: GS76 am 26 Okt. 2020
Dear all,
I have
A={'BARI 500G' ...
'DUR NOR 18CONmS' ...
'SENSO NORM ST-TUB 75ML '...
'MARL 100S 20CIG'...
'BI BOY WHI RMAL DU NA 15 SK'...
'REGU KR GRA ME FAMIAL 1000 ST GRND'
};
I was wondering if there is a way to choose the numbers from A. In case i have 2 numbers in a string I want to select the second one
For instance,
B=[500 18 78 20 15 1000]
  5 Kommentare
antonet
antonet am 10 Jul. 2012
I see. So there is not any automatic way. Ok!thanks
Luffy
Luffy am 10 Jul. 2012
@Antonet: Do you need those numbers as a vector??

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Tom
Tom am 10 Jul. 2012
B = regexp(A,'\d*','Match');
returns one result for each number found in each string. You will then have to get the last value of each cell and convert it to an array (using str2double)
  4 Kommentare
Tom
Tom am 10 Jul. 2012
B = regexp(A,'\d*','Match');
for ii= 1:length(B)
if ~isempty(B{ii})
Num(ii,1)=str2double(B{ii}(end));
else
Num(ii,1)=NaN;
end
end
Num
antonet
antonet am 10 Jul. 2012
Perfect!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Luffy
Luffy am 10 Jul. 2012
C = regexp(A,'[0-9]','match');
disp(C)
So do you need to just display those numbers/return them as a vector
  2 Kommentare
antonet
antonet am 10 Jul. 2012
Bearbeitet: antonet am 10 Jul. 2012
yes, as a vector. thanks
Tom
Tom am 10 Jul. 2012
If you want a vector, what do you want for if there is no match for a particular line of the string?

Melden Sie sich an, um zu kommentieren.


GS76
GS76 am 26 Okt. 2020
To whom it may concern:
I have the numbers below in a 1x1 string. How do I seperate them into seperate rows or columns? I want all the numbers between ";" (semi-colons).
Any assistance would be greatly appreciated.
0.0;0.005;0.01;0.015;0.02;0.025;0.03;0.035;0.04;0.045;0.05;0.055;0.06;0.065;0.07;0.075;0.08;0.085;0.09;0.095;0.1;0.105;0.11;0.115;0.12;0.125;0.13;0.135;0.14;0.145;0.15;0.155;0.16;0.165;0.17;0.175;0.18;0.185;0.19;0.195;0.2;0.205;0.21;0.215;0.22;0.225;0.23;0.235;0.24;0.245;0.25;0.255;0.26;0.265;0.27;0.275;0.28;0.285;0.29;0.295;0.3;0.305;0.31;0.315;0.32;0.325;0.33;0.335;0.34;0.345;0.35;0.355;0.36;0.365;0.37;0.375;0.38;0.385;0.39;0.395;0.4;0.405;0.41;0.415;0.42;0.425;0.43;0.435;0.44;0.445;0.45;0.455;0.46;0.465;0.47;0.475;0.48;0.485;0.49;0.495;0.5;0.505;0.51;0.515;0.52;0.525;0.53;0.535;0.54;0.545;0.55
  6 Kommentare
Rik
Rik am 26 Okt. 2020
Adding a clarification: you don't even need to cast the string to a char, either solution can handle strings as well.
GS76
GS76 am 26 Okt. 2020
Thank you Rik. This is an important point.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by