Replace - 指令碼與圖表函數
將輸入字串內所有出現的指定子字串取代為另一個子字串之後,Replace() 會傳回該字串。此函數不遞迴並會從左至右運作。
語法:
Replace(text, from_str, to_str)
傳回的資料類型: 字串
引數
text
|
原始字串。 |
from_str
|
輸入字串 text 內可能出現一次或多次的字串。 |
to_str
|
要取代字串 text 內所有出現的 from_str 的字串。 |
範例:圖表運算式
Replace( 'abccde','cc','xyz' )
|
傳回 abxyzde |
範例 - Repeat 基礎事項
概述
客戶姓名資料集包含一些拼字錯誤。此範例使用 Replace 函數處理任何錯誤顯示的「Jhon」並更改為「John」。
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
-
載入到稱為 Example 之資料表格的資料集。
-
資料表格中的欄位如下:
載入指令碼
Example:
Load * inline [
CustomerID, CustomerName
1, Jhon Smith
2, Jhon Doe
3, John Williams
4, Jhonathan Harris
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
建立下列計算維度:
結果表格
CustomerID |
CustomerName |
Replace(CustomerName,'Jhon','John') |
1 |
Jhon Smith |
John Smith |
2 |
Jhon Doe |
John Doe |
3 |
John Williams |
John Williams |
4 |
Jhonathan Harris |
Johnathan Harris |
Repeat 函數的輸出尋找 Jhon 的所有執行個體並以 John 校正。
範例 - Repeat 使用情境
概述
產品資料集使用不一致的類別代碼標籤。例如,電氣產品有多種代碼變化,例如 ELEC、ELC 和 elc。若要標準化代碼,Replace 函數可用來校正電氣和家具產品所有不一致的類別代碼。
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
-
載入到稱為 Example 之資料表格的資料集。
-
資料表格中的欄位如下:
載入指令碼
Example:
Load * inline [
ProductID, CategoryCode
1, ELEC
2, ELC
3, FURN
4, FRN
5, ELEC
6, ELC
7, elc
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
建立下列計算維度:
-
=Replace(Replace(Upper(CategoryCode), 'ELC', 'ELEC'),'FRN', 'FURN'),用來將 ELC 的任何執行個體替換為 ELEC,並將 FRN 的任何執行個體替換為 FURN。
結果表格
ProductID | CategoryCode | Replace(Replace(Upper(CategoryCode), 'ELC', 'ELEC'),'FRN', 'FURN') |
---|
1 | ELEC | ELEC |
2 | ELC | ELEC |
3 | FURN | FURN |
4 | FRN | FURN |
5 | ELEC | ELEC |
6 | ELC | ELEC |
7 | elc | ELEC |
Replace 函數的輸出已將 ELC 的任何執行個體替換為 ELEC,並將 FRN 替換為 FURN。請注意,也已替換代碼 elc。雖然 Replace 函數區分大小寫,但維度公式在取代字串之前使用 Upper 函數,以符合所有 CategoryCodes 的大小寫。這有效讓字串替換不區分大小寫。