Removing char in a mixed string column so only numerical values are left?

6 views (last 30 days)
I am trying to plot some data, but one of the columns I need has been imported with quotation marks around it (see below).
In order to plot this data I also need to get rid of the LED part in each row - how do I edit this matrix to only include the numerical values? I have apprx. 220 rows of data.
Thank you.

Accepted Answer

Star Strider
Star Strider on 9 Sep 2019
If ‘LEDS’ is a cell array, try this:
LEDS = {'LED114'; 'LED2'; 'LED49'};
LED_Nrs = regexp(LEDS, '\d*', 'match')
Out = str2double([LED_Nrs{:}])'
producing:
Out =
114
2
49
  5 Comments
Stephen23
Stephen23 on 9 Sep 2019
Edited: Stephen23 on 9 Sep 2019
Simpler regexp output:
str2double(regexp(LEDS,'\d*','match','once'))
The most efficient solution by far:
sscanf([LEDS{:}],'LED%d')

Sign in to comment.

More Answers (2)

madhan ravi
madhan ravi on 9 Sep 2019
Edited: madhan ravi on 9 Sep 2019
Wanted = str2double(regexprep(LED,'LED',''))
% ^^^--- is your columns of data containing mixed data
  1 Comment
Sofie Lund
Sofie Lund on 9 Sep 2019
Thank you for your response. I will try this out! I have also attached my file above as you requested

Sign in to comment.


Fabio Freschi
Fabio Freschi on 9 Sep 2019
Check erease
erease(yourString,'LED');

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!