1. 前言
能看到此文,我就粗暴的认为你已经对FME有了一定的了解。不了解没关系可以去FME博客进行学习,也可以去看FME十分钟进行相关的了解。下面我将结合FME中的几个转换器进行一些简单的演示。
2. Tester
对比一下我们写的两个正则表达式:Matches Regex表示字符串必须与正则表达式完全匹配,而Contains Regex表示只要字符串中包含这种规律的字符串即可。在本例中,这种升级优势不太明显,但在一些需要复杂匹配的时候,这种升级就会让编写表达式变成一件比较简单的事情。
3. StringSearcher
使用StringSearcher从字符串中提取需要的信息大概是这个转换器最经典的用法,假如有这样两个个字符串:我最喜欢用的编程语言是'Python';我最喜欢的ETL工具是'FME'。并且我们将提取规则确定为:只提取出单引号之间的内容。要实现这样的功能只需要写这么一个表达式:(?
4. StringReplacer
使用StringSearcher替换掉字符串中的内容,这个转换器用好了,效果是很神奇的,废话不多说,直接上实例吧(这个例子是帮助文档里的)。字符串:Bobby,表达式:(b*y),替换参数:--\1---\1,设置及结果如下所示:
5. 总结
在FME中合理的使用正则表达式,会简化我们的一些工作。不仅在FME中可以使用正则表达式,在Python或JAVA以及绝大多数计算机语言中都可以使用正则,并且在计算机语言中的正则是更加强大的。
领取专属 10元无门槛券
私享最新 技术干货