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” |
不同的分隔符
公式 | 说明 | 结果 |
---|---|---|
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" |
子字符串提取
公式 | 说明 | 结果 |
---|---|---|
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” |