Split 函式

適用於: 畫布應用程式 桌面流程 模型導向應用程式 Power Platform CLI

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

Description

Split 函式可將文字字串分割成許多子字串。 使用 Split 可分割以逗號分隔的清單、在日期組件之間使用斜線的日期,以及適用於其他使用妥善定義之分隔符號的情況。

可以用分隔符號字串分割文字字串。 分隔符號可以是文字字串中整體相符的零個、一個或多個字元。 使用零長度或 空白 字串會導致每個字元被單獨分開。 在結果中不會傳回相符的分隔符號字元。 如果找不到相符的分隔符號,則會將整個文字字串當做單一結果傳回。

使用 Concat 函式可不用分隔符號重新合併字串。

使用 MatchAll函式可使用正則運算式來分割字串。

範例顯示如何將 SplitFirstLast 函式搭配使用,以抽取單一分隔的子字串。 對規則運算式來說,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"