FME转换器 文本替换(StringReplacer)

前言:今天我来介绍FME在数据处理中常用的字符替换处理器,字符替换处理器(StringReplacer)用于查找指定的文本并将其替换。

StringReplacer

根据输入的字符串或表达式在指定的属性列中查找,将匹配的字符串替换成指定的文本。

一、参数介绍

  • Attributes
    在该属性列中查找和替换字符串
  • Mode
    指定用“字符模式”还是用“正则表达式”模式进行字符查找和替换
  • Case Sensitive
    设置是否大小写敏感
  • Text to Replace
    进行查找和被替换的文本
  • Replacement Text
    用来替换的文本

二、如果属性值不包含待替换文本

  • If Attribute Value Does Not Contain Text
    Set Attribute Value To:
    此选项用于当属性值查找不到待替换的文本,将其内容设置为指定的文本。默认不进行任何操作。

三、栗子

栗子一,用文本替换

源字符串:你大爷
查找字符串:你
替换文本:我
使用正则表达式:否
大小写敏感:否
结果:我大爷

栗子二,用正则表达式替换

源字符串:你大爷
查找字符串:*大爷
替换文本:我大爷
使用正则表达式:是
大小写敏感:是(中文大小敏感没用,适用于英文)
结果:我大爷

栗子三,用正则表达式+原字符替换

源字符串:你大爷
查找字符串:(你大爷)
替换文本:\1还是\1
使用正则表达式:是
大小写敏感:是(中文大小敏感没用,适用于英文)
结果:你大爷还是你大爷

解析:在正则表达式模式下,使用英文的“()”将查找字符串的内容括起来后,可以将内容复用在替换的文本中,用规则化的字符表示,例如"\1"、"\2"、"\3"…

所以是可以用多个“()”来复用多个字符串的,比如栗子三可以改成栗子四
你大爷还是你大爷

栗子四,用正则表达式+多个原字符替换

源字符串:你大爷
查找字符串:(你)(大爷)
替换文本:\1还是\2
使用正则表达式:是
大小写敏感:是(中文大小敏感没用,适用于英文)
结果:你还是大爷
你还是大爷

四、总结

StringReplacer转换器的使用还是相对简单的,复杂的匹配就看正则表达式写的如何,正则表达式则的使用就是另一门学问了,目前网上也有很多资源可以学习。
贴一下FME中的正则帮助。
FME正则快速参考

五、相关转换器

StringSearcher转换器可以说和StringReplacer相似的,StringSearcher用于查找字符串,StringReplacer用于替换字符串。

关于StringSearcher的介绍就等我的下篇博客吧。

偷偷安利一下我的个人博客:蓝线白框

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章