how to remove vowels using matlab ?
古いコメントを表示
pleas help me to answer this following question :
Remove all the vowels in the given phrase.
Example:
Input s1 = 'Jack and Jill went up the hill'
Output s2 is 'Jck nd Jll wnt p th hll'
6 件のコメント
Walter Roberson
2013 年 10 月 1 日
Is "y" a vowel or not? If it is "sometimes" a vowel, should it be removed only if it is acting as a vowel?
ES
2013 年 10 月 1 日
Hi Walter, I looked at the Question, and then the answer. I thought it is done and the challenge is off. And cometh you., the man, with a new challenge.:)
Walter Roberson
2013 年 10 月 1 日
Consider "yellow" and "yip" and "cry" and "ytterbium"
"y" is called a "semi-vowel". There are other semi-vowels used in English tat might have different rules. "w" is also considered a semi-vowel, but not (for example) in "vowel" or "cow"; notice the completely different "w" sound in "won" and "when".
"w" is also a semi-vowel, and acts like a vowel in situations such as "won" (followed by a short vowel), "wine" (followed by a long vowel), and "when" (followed by an "h" followed by a vowel.) But "w" does not act as a vowel in the word "vowel" nor in "how"
Andreas Goser
2013 年 10 月 1 日
And Ä, ä, Ö, ö, Ü, ü :-)
Walter Roberson
2013 年 10 月 1 日
I don't think those are semi-vowels, Andreas :)
Andreas Goser
2013 年 10 月 1 日
Ah, I wasn't responding to Walter but was more generally mentioning such strange characters exist.
回答 (3 件)
Jothi
2013 年 10 月 1 日
3 投票
vow={'a','e','i','o','e'};
s1 = 'Jack and Jill went up the hill'
for i=1:5
output = strrep(s1, vow{i}, '');
s1=output;
end
output =
Jck nd Jll wnt up th hll
2 件のコメント
Jan
2013 年 10 月 1 日
@Jothi: vow need not be a cell. strrep is efficient, but this is an alternative:
vow = 'aeioe';
s1 = 'Jack and Jill went up the hill'
for k = 1:5
s1(s1 == vow(k)) = [];
end
shivam verma
2018 年 12 月 2 日
jothi i think your answer is not working, can you please check again?
output = s1(~ismember(s1, 'aeiou'));
And considering uppercase vowels:
output = s1(~ismember(lower(s1), 'aeiou'));
Andrei Bobrov
2013 年 10 月 1 日
編集済み: Andrei Bobrov
2013 年 10 月 1 日
regexprep(s1,{'a','e','i','o'},repmat({''},1,4))
or
regexprep(s1,'[aeio]','')
1 件のコメント
Walter Roberson
2013 年 10 月 1 日
Too efficient for a beginner answer. As was the answer I almost posted but decided against a second ago.
カテゴリ
ヘルプ センター および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!