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的介紹就等我的下篇博客吧。

偷偷安利一下我的個人博客:藍線白框

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