Remove a specific string from a cell matrix

Hello,
I have a question. I have a cell matrix 200x1 with the following format.
Temperature 10
Temperature 10
Temperature 25
Temperature 30
........................
Temperature 150.
I would like to use a command which will "remove" the string "Temperature".
Does anybody knows which command should I use to make it?

 Accepted Answer

Adam Danz
Adam Danz on 3 Oct 2019
Edited: Adam Danz on 3 Oct 2019
Option 1: strrep() to replace 'Temperature ' with empty
C = {'Temperature 10';'Temperature 10';'Temperature 25';'Temperature 30'};
Ctrim = strrep(C,'Temperature ','') %cell array of chars containing only the numbers
Cnum = str2double(Ctrim); %vector of the numbers of class double.
Option 2: regexp() to extract the numeric characters
Ctrim = regexp(C,'\d+','match','once');
Cnum = ... %see above
Option 1 is faster.

2 Comments

Adam Danz Thank you very much !!!
Glad I could help!
BTW, the first solution, using strrep, is ~3.6 x faster (comparing median speeds using tic/toc across 100k iterations, each).

Sign in to comment.

More Answers (0)

Categories

Asked:

on 3 Oct 2019

Edited:

on 3 Oct 2019

Community Treasure Hunt

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

Start Hunting!