【发布时间】:2014-03-01 07:05:12
【问题描述】:
这是我计算 URL 中点数的算法: 1)在matlab编辑器中输入完整的URL 2)去掉后面的路径,然后留下URL的域部分 3) 检查 URL 域部分中的 '.'/dots 的数量 4) 如果 URL 域部分的 '.'/dots 等于或大于 3 则返回 1,否则如果介于 1 和 3 之间则返回 0,否则返回 -1
str = {'http://www.math-works.com/help/images/removing-noise-from-images.html';
'https://www.math.works.com/help/matlab/ref/strcmpi@dfvfv.html';
'google.com/voice';
'http://m.o.n.k.e.y.org/';
'stack.overflow.com/';
'meta.stackoverflow.com'};
out = regexp(str,'.*?[^/](?=(/([^/]|$)|$))','match','once')
A = {'.'};
cellfun('.'(n) ~isempty(n), strfind(out, A{1}))>1
我已经解决了 1)在 matlab 编辑器中输入完整的 URL 2)消除后面的路径,然后留下 URL 的域部分 3)检查 '.'/点在 URL 的域部分中的数量,但是现在在 4 中遇到问题)如果 URL 的域部分中的 '.'/dots 等于或大于 3,则返回 1,否则如果介于 1 和 3 之间,则返回 0,否则返回 -1
【问题讨论】:
-
那么问题是什么?
-
我收到错误,“??? 错误:文件:f5.m 行:16 列:14 不平衡或意外的括号或括号。”我在计算 '.'/dots 和 if-else 语句的数量时遇到问题
-
试试这个,
cellfun(@(n) (~isempty(n)), strfind(out, A{1}))>1 -
如何检查那里的 if else 语句,“如果 URL 的域部分中的 '.'/dots 等于或大于 3,则返回 1,否则如果介于 1 和 3 之间,则返回 0,否则返回-1"