Power Automate中如何通过单个公式拆分字符串生成不含空字符串的数组
Power Automate中如何通过单个公式拆分字符串生成不含空字符串的数组
当然可以做到!我给你提供一个能直接在Compose动作里使用的单公式解法,完美解决你遇到的空字符串残留问题,完全不需要额外的Filter Array动作。
你之前尝试的split和带union的替换方法,要么没处理空值,要么没法彻底覆盖首尾分号、连续分号的场景。试试这个公式:
filter(split(variables('names'), ';'), not(equals(item(), '')))
公式逻辑拆解:
- 先用
split(variables('names'), ';')把分号分隔的字符串拆成原始数组,这一步会保留所有空字符串(比如首尾分号、连续分号产生的空值) - 再用
filter函数对原始数组进行过滤,规则是排除所有等于空字符串的项,也就是not(equals(item(), '')),直接得到干净的数组
对应你给出的测试用例验证:
- 输入
;test:拆分后得到['', 'test'],过滤后输出['test'] - 输入
test;test2:拆分后得到['test', 'test2'],过滤后输出原数组 - 输入
test;;test2:拆分后得到['test', '', 'test2'],过滤后输出['test', 'test2'] - 输入
test:拆分后得到['test'],过滤后输出原数组
直接把这个公式粘贴到Compose动作的输入框里就行,一步到位满足你的需求~
备注:内容来源于stack exchange,提问作者microsoftdeveloperdesigner
相关产品推荐
相关产品推荐

