match the first letter in a cell and save

1 Ansicht (letzte 30 Tage)
Vincent I
Vincent I am 12 Jun. 2013
Hi, without using a loop for the cell I would like to the the following: I have a 5x1 cell and I would like to check to see if the first letter starts with an 'P'. if it does then I would like to save the cell to another variable eg:
variable<5x1 cell>=
A string 1 - cell 1
P string 2 - cell 2
P string 3 - cell 3
A string 4 - cell 4
P string 5 - cell 5
new_variable<3x1 cell>=
P string 2 - cell 2
P string 3 - cell 3
P string 5 - cell 5

Akzeptierte Antwort

Kye Taylor
Kye Taylor am 12 Jun. 2013
Bearbeitet: Kye Taylor am 12 Jun. 2013
Try this (I assume your cell is called variable)
idx = cellfun(@(s)strncmp(s,'P',1),variable)
newCell = variable(idx);
note that strncmp function is case sensitive so be sure you have 'P' and not 'p'. If you want to detect both lower and upper case p, use this command
idx = cellfun(@(s)strncmp(s,'P',1)|strncmp(s,'p',1),variable)

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings 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