Finding specific phrases within a cell array (1)

Asked by Juan Rosado on 16 Jul 2012
Latest activity Commented on by Juan Rosado on 18 Jul 2012

Greetings,

I am working with a total of nine(9) text strings within nine(9) cell ( {9x1} )

and I am trying to take specific sentences of the text strings.

For example, one text string says:

 EAST WINDS 15 TO 20 KNOTS. SEAS 4 TO 6 FEET.

I am trying to divide these two sentences in two structured variables under the name Today.

 Today.Winds = EAST WINDS 15 TO 20 KNOTS
 Today.Waves = SEAS 4 TO 6 FEET

The 9 different strings represents the 7 days of the week, plus today and night forecast, resulting in 9 different strings

The other strings outputs would go like this:

 Tonight.Winds = EAST NORTHEAST WINDS 10 TO 14 KNOTS
 Tonight.Waves = SEAS 3 TO 5 FEET
 Monday.Winds = EAST WINDS 14 TO 19 KNOTS
 Monday.Waves = SEAS 4 TO 6 FEET

I was thinking of telling MATLAB to break when he reaches the first dot and imprint the string as Today.wind, then continue till the next dot, break and imprint it as Today.waves.

How can I do this?

Thank you for your time.

2 Comments

Jan Simon on 16 Jul 2012

Please stop posting multiple questions about one problem. What should happen with the thread http://www.mathworks.com/matlabcentral/answers/43667-finding-specific-phrases-within-a-cell-array now? Such duplicate questions confuse the readers. It is better to add new information by editing the original question and to mark changes by adding the key "[EDITED]".

Juan Rosado on 17 Jul 2012

My apologies. It won't happen again.

Juan Rosado

Products

No products are associated with this question.

1 Answer

Answer by C.J. Harris on 16 Jul 2012
Accepted answer

See 'strtok' as one possible solutions. For example:

celltxt{1} = 'EAST WINDS 15 TO 20 KNOTS. SEAS 4 TO 6 FEET.';
[tok, rem] = strtok(celltxt{1}, '.');
Tonight.Winds = tok;
Tonight.Waves = rem(3:end-1); % removing first two and last character

6 Comments

Walter Roberson on 17 Jul 2012

Juan, "flagging" a message is to bring it to the attention of the moderators in order for them to decide whether to delete it (or to edit out rudeness.) Flagged messages are not brought to the attention of someone you are corresponding with. I don't think you meant to ask the moderators whether your comments were acceptable.

C.J. Harris on 18 Jul 2012

Well Juan, that would all depend on how you are storing the text. Are you using a cell array?

Juan Rosado on 18 Jul 2012

Indeed Harris I am using cell array and sorry for the flag.

C.J. Harris

Contact us