Power Apps中如何将TextInput文本拆分后单独存储为变量
Power Apps拆分文本并存储为独立内存变量的方法
一、固定数量的变量存储
如果确定要拆分出的数值数量固定(比如最多3个),直接用Set或UpdateContext函数,结合Index从Split返回的表中提取对应位置的值即可:
比如在按钮的OnSelect属性里写(也可放到TextInput1的OnChange属性实现实时更新):
// 存储第1个拆分值到var1 Set(var1, Index(Split(TextInput1.Text, " "), 1).Result); // 存储第2个拆分值到var2 Set(var2, Index(Split(TextInput1.Text, " "), 2).Result); // 存储第3个拆分值到var3,同时处理拆分结果不足3个的情况(避免报错) Set(var3, If(CountRows(Split(TextInput1.Text, " ")) >= 3, Index(Split(TextInput1.Text, " "), 3).Result, ""));
二、动态数量的替代方案(推荐)
Power Apps无法自动创建var1、var2这种动态命名的变量,若不确定输入文本会拆分成多少个值,更推荐用集合存储所有拆分结果,后续按需提取:
在触发事件(按钮点击/输入框变更)中写入:
// 先清空集合,再存入拆分后的所有非空值 ClearCollect(colSplitValues, Filter(Split(TextInput1.Text, " "), !IsBlank(Result)));
之后要取第n个值时,直接用Index(colSplitValues, n).Result即可,比如Index(colSplitValues, 2).Result就能拿到第2个拆分后的内容。
注意事项
- Split函数返回的表中,每个拆分后的值都存在
Result字段里,必须加.Result才能拿到文本内容。 - 如果输入文本中有连续的多个空格(非正好3个),可以先对输入文本做清洗,比如用
Trim去掉首尾空格再拆分:Split(Trim(TextInput1.Text), " ")
内容的提问来源于stack exchange,提问作者Samundra
相关产品推荐
相关产品推荐

