问题的评论
-
10评论
第二次测试的y呢?
为什么在英语中y不是元音?瑞典语有九个元音,y是其中之一。
英语中只有五个元音。这是'a,e,i,o,u'
我不明白为什么下面的不能工作:
expression = '[aeiouAEIOU]';
[~,noMatch] = regexp(s1,expression,'match','split');
[~,c] = size(noMatch);
Cell_s2 = ";
对于I = 1:c
cell_s2 = strcat(cell_s2,noMatch(i));
结束
S2 = string(cell_s2);
不错的
#警告
字符数组和字符串不相似。
长度(abc)
% 3
长度(“abc”)
% 1
所以'abc'不等于'abc'
使用"char"函数从字符串中获取字符数组
char(“abc”)
% ' abc '
使用
if ~any(s1(i) == 'aeiouAEIOU')
这很简单
字母“w”和“y”实际上是元音。
(也许不是用科迪语写的,也许甚至不是用美式英语写的——我不确定——但肯定是用英语写的……)
Regexp Regexp
多亏了Regexp,只有2行代码
解决方案的评论
-
1评论
ismember啊哈
-
1评论
函数s2 = refcn(s1)
S2 = [];
s3 =“aAeEiIoOuU”;
L = strlength (s1);
L1 = strlength (s3);
国旗= 0;
j = 1;
i = 1: L
k = 1: L1
如果s1 (i) = = s3 (k)
标志= 1;
继续;
结束
结束
如果标志= = 0
s2 (j) = s1(我);
j = + 1;
结束
国旗= 0;
结束
结束
-
1评论
为什么不接受
-
1评论
我不能让这个工作在我的PC上(Matlab 2016不支持双引号和字符串数组)万博1manbetx
-
2的评论
s1 = '我不想工作。我只想整天敲鼓。”
如何可能将字符串读到s1,包括在不引用
包括lower()帮助我写大写的I
-
1评论
“Y”被认为是一个辅音!
-
3评论
除了元音,第二个测试还删除了一个空格。虽然想要清理多余的空格是很自然的,但空格不是元音。
测试套件的显示显示“I”处的第二个空格被删除,但实际的测试并没有删除它。这是非常令人困惑的,但测试实际上如您所期望的那样工作。只是显示的“正确”答案实际上并不像你注意到的那样正确。
当我看到你的答案,并在我的解决方案中容纳了他们的“错误”时,我对此有麻烦。只不过他们的错误只是显示错误,而不是测试套件中的实际错误。哎!
请参阅//www.tianjin-qmedu.com/matlabcentral/cody/problems/22-remove-the-vowels/s万博 尤文图斯olutions/1218453以获得您的解决方案的修复版本。
当然,我只是注意到您的解决方案是5个月前的,所以您现在肯定不会在意。这就是生活。
-
1评论
还应包括其他首都
-
3评论
-
1评论
非常好的解决方案!
-
1评论
有人能说如果我们用ASCII表示会有什么问题吗?
-
1评论
很好的例子!
一个"'"可以在"regexp"和"regexpi"之间产生非常不同的情况。
-
1评论
对于第二个测试用例,有些地方出错了。
*如果你在MATLAB中使用S1中给出的字符串,你不会得到列出的输出。
*然而,为了得到被列出为正确的输出,你不能有给定的输入。
-
1评论
Regexp显然无法检测“day”末尾的“y”。这不会发生在我自己的电脑上。确实很奇怪。
-
1评论
比'ignorecase'更小但更不明确。总之,很好的解决方案。
-
2的评论
等待……这是怎么回事:
s2 = regexprep(s1,'[aeiouAEIOU]', ");
比这还短?
S2 = s1(regexpi(s1,'[^aeiou]'));
@Tom
我相信这是因为regexpi将与从regexpprep命令中包含'ignorecase'选项相同(包括使大小为15)。