Extracting certain elements of a string (Matlab)

  • MATLAB
  • Thread starter big man
  • Start date
  • #1
253
1
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
Wrichik Basu
Insights Author
Gold Member
2020 Award
1,779
1,609
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
Replies
1
Views
962
Replies
6
Views
7K
Replies
1
Views
4K
  • Last Post
Replies
9
Views
3K
Replies
5
Views
19K
Replies
5
Views
3K
Replies
1
Views
4K
Top