我们会用到函数:· Text.ToList:将字符串变成列表· List.Random:生成随机数列表· List.Count:列表元素计数· Table.Sort:表排序· Text.Combine:文本合并这过程中,还需要有表格转换函数,是使用Recoard.ToTable、还是Table.FormColumns?Recoard.ToTable我们用字符作为Record的Name,随机数作为Record的Value,然后转换成表格,排序实现随机排列,下面分步来做:Text.ToList:同样长度的随机数列表:组成Record:转成表格:Value列排序:提取Name列合并文本:似乎很顺利就完成了,字符串内部的乱序,我们修改一下数据源看看:看看能不能实现乱序:“无边落木萧萧下”,Record的Name不能重复,所以报错。
所以上面的过程适合非重复字符串的乱序。
如果有重复的字符,我们还需要修改我们的过程。
添加列的方式行不通,我做过测试,先把字符列表转换成表格,然后添加随机数列,即使指定了数据类型,也无法实现排序:所以这个随机数列,需要在组表之前就生成,不能后添加。
Table.FormColumns用之前做过的字符串列表与随机数列表组成表格:排序:我们整理一下,把文本合并:即使是标点符号重复,也不要紧,都能实现整个字符串内的字符随机排列。
我们总结一下,最后这种方法更通用一些,要注意的地方就是随机数的生成,必须是在表格生成之前,如果是后添加的随机数列,不能排序,具体啥原因咱也不了解。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)