Split 函式

適用於: 畫布應用 桌面流 模型驅動應用 Power Pages Power Platform CLI

將文字字串分割成許多子字串。

名描述

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"