Extracting certain elements of a string (Matlab)

  • MATLAB
  • Thread starter big man
  • Start date
  • #1
253
1

Main Question or Discussion Point

Hi

I am writing a program in Matlab and I want to search a string within a cell to identify where certain characters start and end. However, once I identify the start and end points I want to extract all the characters within that range.

So for example let's say that I have a 25 row by 1 column cell array called Carray. Let's also say that I'm only interested in the string that is within the 25th row cell. What I'm wanting to do is use something like the "findstr" or "strfind" functions in Matlab to give the the start and finish indices for a string like "bleh". Then I want to be able to take those four characters only from the entire string that is contained in the 25th row.

if i==25
bleh=strfind(able, 'CTDI')
bleh1=strfind(able, 'DLP')
% new able = extract the characters between the subindices bleh and bleh1 from cell able(25)
end

Really all I need to know is if there is a way to specify subindices or something within the able array so that only certain characters in a particular cell are extracted?

I'd really appreciate any advice in this matter and I hope that I have managed to explain it OK!

Thank you
 

Answers and Replies

  • #2
1,441
1,301
First convert the element in the cell array to string: str = convertCharsToStrings(able(i)).

Then use strfind as you've used.

Then use extractBefore, extractBetween or extractAfter functions as required, on str.
 

Related Threads on Extracting certain elements of a string (Matlab)

  • Last Post
Replies
6
Views
23K
  • Last Post
Replies
9
Views
2K
Replies
6
Views
7K
Replies
8
Views
2K
Replies
1
Views
874
Replies
1
Views
2K
Replies
3
Views
560
Replies
1
Views
2K
Replies
1
Views
6K
Replies
1
Views
3K
Top