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 中查找有关 Univariate Discrete Distributions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!