Finding a character and returning that character
    4 views (last 30 days)
  
       Show older comments
    
    amateurintraining
 on 11 Oct 2017
  
    
    
    
    
    Answered: Walter Roberson
      
      
 on 11 Oct 2017
            I have a function:
function [ vowels ] = findVowels( charCell )
%FINDVOWELS
%   charCell: a two-dimensional cell array and each cell contains a
%   character array
%   vowels: a cell array with the same dimensions as charCell that contains
%   only the vowels of each entry, in lower case
vowels=charCell;
switch vowels
  case strfind(charCell, 'a')
      disp('a')
  case strfind(charCell, 'e')
      disp('e')
  case strfind(charCell, 'i')
      disp('i')
  case strfind(charCell, 'o')
      disp('o')
  case strfind(charCell, 'u')
      disp('u')
end
end
And I want the function to search for the vowels and RETURN those vowels for example:
>>X={'hi','hello';'goodbye', 'later'};
>>findVowels(X)
ans=
2x2 cell array
'i'          'eo'
'ooe'        'ae'
My current function results in an error because vowels is not a scalar or a character. How do I go about this to produce a character?
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 11 Oct 2017
        There was extensive discussion of this at https://www.mathworks.com/matlabcentral/answers/360652-display-the-characters-as-output
0 Comments
More Answers (1)
  ES
      
 on 11 Oct 2017
        Your variable vowels is a cell array. You cant switch based on a cell array. Instead take each word, and run a for loop on each character. some thing like this,
for iLoop=1:length(charCell)
    sCurrentWord = charCell{iLoop};
    if ~isempty(strfind(charCell, 'a'))
        disp('a')
    end
    if ~isempty(strfind(charCell, 'e'))
       disp('e')
    end
..and so on..
end
I would suggest to use regexp instead.
0 Comments
See Also
Categories
				Find more on Characters and Strings in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

