Split 函式
適用於: 畫布應用 桌面流 模型驅動應用 Power Pages Power Platform CLI
將文字字串分割成許多子字串。
Description
Split 函式可將文字字串分割成許多子字串。 使用 Split 可分割以逗號分隔的清單、在日期組件之間使用斜線的日期,以及適用於其他使用妥善定義之分隔符號的情況。
可以用分隔符號字串分割文字字串。 分隔符號可以是文字字串中整體相符的零個、一個或多個字元。 使用零長度或 空白 字串會導致每個字元被單獨分開。 在結果中不會傳回相符的分隔符號字元。 如果找不到相符的分隔符號,則會將整個文字字串當做單一結果傳回。
使用 Concat 函式可不用分隔符號重新合併字串。
使用 MatchAll函式可使用正則運算式來分割字串。
範例顯示如何將 Split 與 First 和 Last 函式搭配使用,以抽取單一分隔的子字串。 對規則運算式來說,Match 函式通常是更簡潔且更強大的選擇。
語法
Split( Text,Separator )拆分
- Text - 必填。 要分割的文字。
- separator - 必需。 用於分割字串的分隔符號。 可以是零個、一個或多個字元。
範例
基本使用方式
公式 | 描述 | 結果 |
---|---|---|
Split( "Apples, Oranges, Bananas", "," ) |
使用逗號分隔符號,將不同的水果分開。 系統只會根據逗點執行分割,而非其後的空格。所以導致 "Oranges" 和 " Bananas" 的前面出現空格。 | 單欄資料表,其中的 Value 欄包含下列值:"Apples", " Oranges", " Bananas" |
TrimEnds( Split( "Apples, Oranges, Bananas", "," ) ) |
如同前一個範例,但在此情況下,TrimEnds 函式 會移除空格,並在 Split 所產生的單一欄位資料表上作業。 我們本來也可以使用分隔符號 "," (這會在逗號之後包含空格),但要是沒有任何空格或有兩個空格,就無法正確地運作。 | 單欄資料表,其中的 Value 欄包含下列值:"Apples", " Oranges", " Bananas" |
Split( "08/28/17", "/" ) |
使用正斜線作為分隔符號,將日期分開。 | 單欄資料表,其中的 Value 欄包含下列值:"08", "28", "17" |
不同的分隔符號
公式 | 描述: | Result |
---|---|---|
Split( "Hello, World", "," ) |
使用逗號作為分隔符號,將單字分開。 第二項結果以空格開頭,因為這是緊接在逗號後面的字元。 | 單欄資料表,其中的 Value 欄包含下列值:"Hello", " World" |
Split( "Hello, World", "o" ) |
使用字元 "o" 作為分隔符號,將字串分開。 | 單欄資料表,其中的 Value 欄包含下列值:"Hell", ", W", "rld" |
Split( "Hello, World", "l" ) |
使用單一字元 "l" 作為分隔符號,將字串分開。 由於 Hello 中兩個 l 之間沒有任何字元,因此傳回空白值。 | 單欄資料表,其中的 Value 欄包含下列值:"He", Blank(), "o, Wor", "d" |
Split( "Hello, World", "ll" ) |
使用雙重字元 "ll" 作為分隔符號,將字串分開。 | 單欄資料表,其中的 Value 欄包含下列值:"He", "o, World" |
Split( "Hello, World", "%" ) |
使用百分比符號作為分隔符號,將字串分開。 由於此分隔符號未出現在字串中,因此將整個字串當做一項結果傳回。 | 單欄資料表,其中的 Value 欄包含下列值:"Hello, World" |
Split( "Hello, World", "" ) |
使用空字串作為分隔符號 (零個字元),將字串分開。 這會將字串的每個字元分開。 | 單欄資料表,其中的 Value 欄包含下列值:"H", "e", "l", "l", "o", ",", " ", "W", "o", "r", "l", "d" |
子字串解壓縮
公式 | 描述: | Result |
---|---|---|
First( Split( Last( Split( "Bob Jones <bob.jones@contoso.com>", "<" ) ).Result, ">" ) ).Result |
根據起始分隔符號 (<) 分離字串,並以 Last 分隔符號將字串提取到分隔符號。 然後,此公式會根據結束分隔符號 (>) 分割該結果,並以 Right 提取分隔符號左側的字串。 | "bob.jones@contoso.com" |
Match( "Bob Jones <bob.jones@contoso.com>", "<(?<email>.+)>" ).email |
執行與上一個範例相同的分隔符號,而是使用 Match函式和正則運算式。 | "bob.jones@contoso.com" |