フィルターのクリア

Finding a character and returning that character

2 ビュー (過去 30 日間)
amateurintraining
amateurintraining 2017 年 10 月 11 日
回答済み: Walter Roberson 2017 年 10 月 11 日
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?

採用された回答

Walter Roberson
Walter Roberson 2017 年 10 月 11 日

その他の回答 (1 件)

ES
ES 2017 年 10 月 11 日
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.

カテゴリ

Help Center および File ExchangeFile Operations についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by