23.文本间隔拆分

将指定的“文本”根据“间隔位数”拆分成若干个片段。
实现思路:单击【生成】按钮时,通过填表公式计算,根据“间隔位数”需要拆分成多少个片段,再根据函数“取子串”获取指定的子串,拼接形成新的文本串。
1.增加辅助数据项“片段数”,记录需要拆分为多少个片段。
2.单击【生成】单元格按钮时,先清空“结果”的值
3.计算需要被拆分为多少个片段。根据“文本”的长度和“间隔位数”进行判断,当“文本长度”和“间隔位数”的余数为0时,片段数= 文本长度/间隔位数 ,否则 ,片段数= 取整(文本长度/间隔位数)+1。
IF( 求余数( 字符串长度( 本表单.文本 ) , 本表单.间隔位数 ) = 0, 字符串长度( 本表单.文本 ) /本表单.间隔位数 , INT(字符串长度( 本表单.文本 ) /本表单.间隔位数) + 1)
4.对结果进行拆分。在数据源中调用“序号列表”获取指定的子串并拼接形成新文本,子串= 取子串( 本表单.文本 , ( 数据源.序号 - 1 ) * 本表单.间隔位数 + 1, 本表单.间隔位数 ),当“序号”为1时,获取“文本”从“0”开始截取“间隔位数”的子串,当“序号”为2时,获取“文本”从“间隔位数”开始截取“间隔位数”的子串.....
将多有的“子串”通过“,”拼接, 结果= 本表单.结果+“,”+子串
第一个子串无需添加“,”,当结果为空时,直接拼接。因此
结果= 本表单.结果 + IF( 本表单.结果 <> 常量.空 , "," , "" ) + 子串
2022-12-23
3027
Baidu
map