本周文件交换选择

我们最好的用户反馈

扁平(嵌套)单元格数组

肖恩他本周的选择是扁平(嵌套)单元格数组通过Yung-Yeh

背景

我最近一直在使用webread扫描网站,挖掘信息,进行数据分析。

这需要很多正则表达式.正则表达式是一种令人难以置信的令人沮丧但同时又很有趣的东西。我通常在html标签中寻找一些文本模式,这意味着我要抓取“令牌”或者匹配表达式的未知部分。

让我们做一个简单的例子,从网站上获取MathWorks的产品列表下载188bet金宝搏//www.tatmou.com/下载188bet金宝搏products.html

首先,让我们确定我们要寻找的模式。由于语法高亮显示和其他编辑器特性,我喜欢在web浏览器中完成这个操作。这里是第一个观点:

我们需要参数化两种模式。第一个,黄色的是产品参考。第二个是绿色的,是产品名称,即我们想要捕获的令牌。

现在我们来编码一下。首先,我们将抓取html。

HTML = webread(“//www.tatmou.com/下载188bet金宝搏products.html”);

接下来,我们将构建正则表达式。它总是很好的文档页面打开这个。

  1. 匹配字符串字面量"/product/"
  2. 匹配任何“[]”字符“\w”或连字符“\w”
  3. 尽可能多地使用"*"
  4. 匹配下一个反斜杠和右双引号以及大于号"/""
  5. 用括号(
  6. 尽可能多地匹配任何单词、连字符或空格“\s”。
  7. 关闭令牌)
expr =/产下载188bet金宝搏品/ (\ w \-]*/">([\ w \) \] *)”

运行正则表达式捕获令牌。

令牌= regexp(html, expr,“令牌”);

这就是永叶的文件的用武之地。的输出正则表达式With令牌是一个嵌套单元格,它可以有许多嵌套级别,具体取决于令牌的数量和令牌嵌套级别。cellflat允许我尽可能多地把它压扁成一个单元格串。

标记= cellflat(标记);

现在我们可以看看这个独特的产品,在最后的空白被删除了。下载188bet金宝搏

disp(独特(deblank(令牌)))
“…“航空航天工具箱”、“航空航天工具箱”、“天线工具箱”、“音频系统工具箱”、“生物信息学工具箱”、“通信系统工具箱”、“计算机视觉系统工具箱”、“控制系统工具箱”、“曲线拟合工具箱”、“DO鉴定工具箱”、“DSP系统工具箱”、“数据采集工具箱”、“数据库工具箱”、“数据馈电工具箱”、“计量经济学工具箱”、“嵌入式编码器”、“过滤器设计HDL编码器”、“金融工具工具箱”、“定点设计器”、“模糊逻辑工具箱”“全局优化工具箱”“HDL编码器”“HDL验证器”“IEC认证工具包”“图像采集工具箱”“图像处理工具箱”“仪表控制工具箱”“LTE系统工具箱”“MATLAB”“MATLAB编码器”“MATLAB编译器”“MATLAB编译器SDK”“MATLAB分布式计算服务器”“MATLAB移动”“MATLAB生产服务器”“MATLAB报表生成器”“MATLAB家庭使用”“映射工具箱”“模型预测控制工具箱”“基于模型的校准工具箱”“神经网络工具箱”“OPC”“工具箱”“优化工具箱”“并行计算工具箱”“偏微分方程工具箱”“相控阵系统工具箱”“Polyspace漏洞查找器”“Polyspace代码验证器”“射频工具箱”“机器人系统工具箱”“鲁棒控制工具箱”“信号处理工具箱”“SimBiology”“simmevents”“simmrf”“Simscape”“Simscape传动系统”“Simscape电子”“Simscape流体”“Simscape多体”“Simscape电力系统”“Simulink”“Simulink 3D动画”“Simulink代码检查器”“Simulink编码器”金宝app“金宝appSimulink控制设计”“Simulink设计优化”“Simulink设计验证器”“Simulink桌面实时”“Simulink PLC编码器”“Simulink实时”“Simulink报表生成器”“Simulink测试”“Simulink验证与验证”“电子表格链接”“状态流”“统计与机器学习工具箱”“符号数学工具箱”“系统识别工具箱”“交易工具箱”“车辆网络工具箱”“视觉HDL工具箱”“WLAN系统工具箱”“小波工具箱”

评论

试一试,让我们知道你的想法在这里或者留下评论Yung-Yeh。




发布与MATLAB®R2016a

|
  • 打印
  • 发送电子邮件

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。