KNIME相关视频教程,请移步B站,搜索“星汉长空”,多谢支持!
步骤1. 如图所示,在KNIME中加入Table Creator节点。
步骤2. 在Table Creator节点中,双击单元格,输入地址信息(支持多行记录,从Excel等文本编辑环境粘贴过来,或使用KNIME Excel、csv、txt等读取节点直接读取数据文件)。
步骤3. 拖入Regex Extractor节点,右键进入配置界面,对字符串进行正则表达式的匹配和提取。
(注:使用KNIME该节点的一大好处是关于正则表达式的匹配是可视化的。可以边尝试写正则表达式,边看到正则表达式的匹配结果,以表格形式给出,非常直观;另外可以对匹配结果以行、列或者其他形式显示加以设置。)
步骤4. 在Regex Extractor节点的Regex框中,依据地址文本的样式,写下相应的正则表达式,匹配需要的内容。
步骤5. 在Regex Extractor节点右侧,观察匹配结果,如果不需要全部匹配,可以勾选“No Full Match”。
步骤6. 退出正则表达式配置环境,在节点上右键,点击最下方的表格选项,可以查看地址信息被拆分后的内容。
解释1. 何为KNIME?KNIME数据分析平台是一款强大开源的数据挖掘软件平台,可以固化数据处理的流程,在人与人,人与机器之间进行传递。
解释2. 何为正则表达式?正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。这里用来匹配非汉字文本,将其替换为空。
解释3. 图中正则表达式的含义是什么?"(.*市)(.*区)(.*路)(.*号)",可以看到,正则表达式的每一段都是由“()”进行分隔,其中的“.”可以匹配任意字符,“*”代表匹配0到任意多个,所以“.*”代表了0到任意多个字符。由于每一段的最后,明确写出了要匹配地址信息中的“市区路号”这些文本,原来的地址信息就会被分割成四部分。但是要注意,这里面可能会有例外的情况,比如某市叫做“*市市”,对于特殊情况,我们可以对正则表达式进行进一步的加强处理。