我同意下面的评论,测试套件与问题描述不匹配。
同意。
固定和救援。抱歉这个混乱。
虽然我认为从技术上讲,问题描述是正确的,但如果你能展示如何使用标点符号,那就更容易理解了。
此外,如果两个元音存在于一个单词中,则不清楚一个人应该怎么做。由于它没有在测试套件中被问到,因此可能会注意到您可以假设每个单词最多都有一个元音。
有趣的
http://www.oxforddictionaries.com/words/is-the-ltter-y-a-voweloor-a-consonant.
在答案中,空格将其余字符隔开,除非前面有标点!
我继续“有一个问题提交了解决方案。删除不适当的内容。”不知道为什么。
这只是删除元音的问题(具有相同的样本句子!)
原句中的空格被包含在新句中。就像你说的那样,因为在原文中每个单词都有一个元音。
我在500之后,我放弃了500,但可以区分两者,我刚写的,如果还有否则并键入了这件事。这是对的。XD我没有线索。大声笑我将它们转换成双重计算出Out'= 39,Space = 32。= 46,它开始数字=双(S1);然后我制作了vow = double(['aaeeiioouu',''''')这个东西没有错。第一个简单。第二个时期和小小的喷射标记。DX如此卡住了。我应该在喷射的两个划分后打破它,只需2个字符串。 That's what I am thinking. It seem to have a mind of its own in the current form. It is just the spaces.
还可以添加更多的测试用例。例如,如果句子中包含数字、空格等。
我讨厌这个问题
在执行输入字符串之后
s1 ='我不想工作。我只是想整天爆炸鼓。
它在“不'”字样中的单引号,但在结果中,两个引号都显示出它是如何????
..
保留的元音是,'a e u'。似乎有些人会混淆。
函数s2 = refcn(s1)
s2 ='';
k = 1;
标志= 0;
l = strlength(S1);
s3 =“BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxYyZz”;
L1 = strlength (s3);
对于i = 1:l
j = 1: L1
如果s1 (i) = = s3 (j)
标志= 1;
继续;
结束
结束
如果标志= = 0
S2(k)= s1(i);
k = k + 1;
结束
标志= 0;
结束
结束
有人能告诉我为什么这个解决方案不起作用吗?这可能和数据类型有关?
从字符串中删除辅音
函数s2 = refcn(s1)
L =长度(s1);
匹配= 0;
%通过s1增量
for i = 1:L
国旗= 0;
%比较当前的字母和元音
如果s1(i)=='a'
标志= 1;
匹配=匹配+ 1;
elsefif s1(i)=='e'
标志= 1;
匹配=匹配+ 1;
Elseif s1(i) == 'i'
标志= 1;
匹配=匹配+ 1;
Elseif s1(i) == ' '
标志= 1;
匹配=匹配+ 1;
elsefif s1(i)=='U'
标志= 1;
匹配=匹配+ 1;
结束
%插入匹配元音和空格
如果标志== 1
S2(匹配)= S1(i);
匹配=匹配+ 1;
S2(匹配+ 1)='';
结束
结束
结束
Y对我来说没有辅音,但是好吧
应该澄清'y'是作为辅音来处理的。
这似乎是一个错误-在第二个测试S1包含'y',这不是辅音,但输出S2没有它。
Y是元音!
为什么第2次测试的答案中有2个撇号?
因为如果您没有加倍(''),则Matlab作为字符向量的末尾读取单个撇号。这就是你解决这个问题。
带我一些时间去做......
'(?=[a-z])[^aeiou]'匹配辅音。
我认为是最好的解决方案!
你好,我很喜欢你的解决方案。比我的简单多了
这个解决方案刚刚通过了测试套件,但如果会有大写辅音,会失败!
变量字母也必须包含大写辅音!
S1 ='杰克和吉尔上升了山';
S2 = 'a a I e u e I ';
断言(isequal (s2, refcn (s1)))
a = [] n = 30 s2 = [] a ='a's2 =''s2 ='a's2 =''s2 ='a'a ='aa's2 ='aa's2 ='aa's2 ='aa's2 ='aa's2 ='aa'a ='aai's2 ='aai's2 ='aai's2 ='aai's2 ='aai's2 ='aai's ='aaie''s2 ='aaie's2 ='aaie's2 ='aaie's2 ='aaie'a ='aaieu's2 ='aaieu's2 ='aaieu's2 ='aaieu's2 ='aaieu's2 ='aaieu'a ='aaieue's2 ='aaieue's2 ='aaieue's2 ='aaieue'a ='aaieuei's2 ='aaieuei's2 ='aaieuei's2 ='aaieuei'
给我解释一下为什么行不通?
两件事:(1)在日常语境中,“y”通常不被认为是元音;(2)你在目标解决方案中省略s2中所示的空格。万博 尤文图斯
测试2中的y
任何人都可以帮助我解决这个问题。
功能ANS = REFCN(S1)
Regexprep(s1,'(?= [a-z])[^ aeiou]''''''''preservecase');
结束
不工作帮助我
像这样写
s2 = regexprep(s1,'(?![aeiou])[a-z]','''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''')
raihan艾哈迈德,我知道这个评论是岁的,但你能解释一下输入'(?![aeiou])[a-z]'工作?显然,MATLAB将其识别为与'[B,C,D,F,G,H,J,K,L,M,N,P,Q,R,S,T,V,W,X,y,z]',但究竟在做什么?
看起来测试服被修改了,以前有效的解决方案不再有效了。万博 尤文图斯所以我们并不是在同一个操场上与新的解决方案竞争。万博 尤文图斯
解决方案不是很漂亮,尝试正则表达式
s1 ='我不想工作。我只想整天爆炸鼓。';
第二种情况似乎不符合问题的含义!我认为这完全没有必要
只是开玩笑
lol y ^ ^
一般来说,“Y”不被视为辅音