需要一个文本按自定义规则打乱功能,有大佬可以帮忙吗~~~

动作需求 · 1137 次浏览
RyanPan 创建于 2021-12-15 11:58

具体需求是文本需要按照空格随机打乱顺序。

如:

一个 两个 三个 四个 五个

打乱为:

五个 三个 两个 四个 一个

 

 


RyanPan 2021-12-15 15:26 :

大佬 这个用不了啊  有提示 但是实际上没改变...

CL 回复 RyanPan 2021-12-15 15:33 :

这个是演示,没有把结果写回的步骤,你可以加一个发送文本到窗口,把结果再发送到窗口里。

RyanPan 回复 CL 2021-12-15 15:37 :

加了但是那个结果不对啊....换成下面提示的数字了 而不是我要排序的文本....

CL 回复 RyanPan 2021-12-15 15:40 :

没明白,不是打乱么? 打乱的情况下输出不是随机的么?

RyanPan 回复 CL 2021-12-15 15:44 :

你看看我下面发的回复

回复内容
RyanPan 2021-12-15 15:44
#2


CL 2021-12-15 15:49 :

示例里是直接用的默认值没有取选中文本的内容。加上获取选中文本输出到s变量里就可以了。

RyanPan 回复 CL 2021-12-15 15:55 :

可以了!謝謝

还有一个需求 就是第一个空格前的文本不排序以及结尾必定不是空格这个可以吗?

比如文本为:

一个 两个 三个 四个 五个

一个不排序.两个三个四个五个进行随机排序,然后结尾不是空格

RyanPan 最后更新于 2021-12-15 15:57
CL 回复 RyanPan 2021-12-15 16:37 :

可以,不过有点麻烦(把赋值模块里的表达式改成下面的)。 也直接选中的时候不要选第一个。结尾不是空格是什么意思?不太明白

$=
var random = new Random();
var li = {s}.Split().ToList();
var newList = new List<String>() {};

//foreach (var item in li) {
for (int i=1; i<li.Count; i++) {
    var item = li[i];
    newList.Insert(random.Next(newList.Count), item);
}
newList.Insert(0, li[0]);

return  String.Join(" ",newList);

RyanPan 回复 CL 2021-12-15 16:59 :

就是有时候重复排序两三次会变成最后一个是空格.....

一个 两个 三个 四个 五个

会变成

一个 五个 四个  两个 三个 

最后多了个空格....

然后你说的"也直接选中的时候不要选第一个"这个很难,因为我是批量的 没法每个都去单选第二个开始....

RyanPan 回复 CL 2021-12-15 17:04 :

还有个问题...只要我重复在一个文本上使用,空格会变得越来越多.....

CL 回复 RyanPan 2021-12-15 17:50 :

更新一下表达式

$=

var random = new Random();
var li = {s}.Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries).ToList();
var newList = new List<String>() {};

//foreach (var item in li) {
for (int i=1; i<li.Count; i++) {
    var item = li[i];
    newList.Insert(random.Next(newList.Count), item);
}
newList.Insert(0, li[0]);

return  String.Join(" ",newList);

CL 最后更新于 2021-12-15 17:50
RyanPan 回复 CL 2021-12-15 17:55 :

好的 谢谢!

RyanPan 回复 CL 2021-12-15 17:55 :

好的 谢谢!

RyanPan 回复 CL 2021-12-15 17:55 :

好的 谢谢!

RyanPan 回复 CL 2021-12-15 17:55 :

好的 谢谢!

RyanPan 回复 CL 2021-12-15 17:55 :

好的 谢谢!

RyanPan 回复 CL 2021-12-15 17:55 :

好的 谢谢!

RyanPan 回复 CL 2021-12-15 17:55 :

好的 谢谢!

RyanPan 回复 CL 2021-12-15 17:55 :

好的 谢谢!

回复主贴