前言:今天我來介紹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中的正則幫助。
五、相關轉換器
StringSearcher轉換器可以說和StringReplacer相似的,StringSearcher用於查找字符串,StringReplacer用於替換字符串。
關於StringSearcher的介紹就等我的下篇博客吧。
偷偷安利一下我的個人博客:藍線白框