请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Remix-Halo

注册会员

7

主题

15

帖子

178

积分

注册会员

积分
178

[已处理] 数组去空

Remix-Halo
注册会员   /  发表于:2025-3-4 00:29  /   查看:163  /  回复:7
10金币
如图所示,使用数组操作和数组查询命令 不能实现数组去空和去重
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

先看效果 我看看这个插件处理后并不是空,而是 \r。["1\r","\r","2\r","3"] 你将这个值放在页面上看起来在一行实则还是存在换行符的。 然后下面用js给这个字符串处理的,具体操作如下: 1.定义变量,获取将回车符替换后的字符串 2.定义两个变量,用户接收js中的值 3.执行js 我用的活字格11打开的,下面就直接放代码吧

7 个回复

倒序浏览
最佳答案
最佳答案
wwbb
中级会员   /  发表于:2025-3-4 00:30:00
来自 2#

先看效果


我看看这个插件处理后并不是空,而是  \r。["1\r","\r","2\r","3"]
你将这个值放在页面上看起来在一行实则还是存在换行符的。

然后下面用js给这个字符串处理的,具体操作如下:
1.定义变量,获取将回车符替换后的字符串

2.定义两个变量,用户接收js中的值

3.执行js

我用的活字格11打开的,下面就直接放代码吧

  1. var comm =  Forguncy.CommandHelper;
  2. var str = comm.getVariableValue("input");
  3. console.log(str)
  4. // 步骤 1: 按换行符和逗号分割字符串,并过滤空项及空白项
  5. const arr = str
  6.   .split(/[\n,\r]+/)          // 同时用换行符、逗号分割
  7.   .filter(item => item.trim() !== ''); // 过滤空字符串和纯空格项
  8. // 步骤 2: 去重
  9. const uniqueArr = [...new Set(arr)];
  10. // console.log(uniqueArr);

  11. // 步骤 3: 用逗号连接结果
  12. const resultStr = uniqueArr.join(',');

  13. // console.log(resultStr);
  14. comm.setVariableValue("resultStr", resultStr)
  15. comm.setVariableValue("resultArr", uniqueArr)


复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +5 收起 理由
Joe.xu + 5

查看全部评分

回复 使用道具 举报
Remix-Halo
注册会员   /  发表于:2025-3-4 11:18:13
3#
能不能 在返回去,将数组在变回一行一行的字符串,
回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2025-3-4 11:23:21
4#
Remix-Halo 发表于 2025-3-4 11:18
能不能 在返回去,将数组在变回一行一行的字符串,

当然可以!用js 搞一下
回复 使用道具 举报
wwbb
中级会员   /  发表于:2025-3-4 14:16:00
5#
本帖最后由 wwbb 于 2025-3-4 14:18 编辑
Remix-Halo 发表于 2025-3-4 11:18
能不能 在返回去,将数组在变回一行一行的字符串,

是要这个效果吧,在添加一行就可以,获取值用同样的方法。







var comm =  Forguncy.CommandHelper;
var str = comm.getVariableValue("input");
console.log(str)
// 步骤 1: 按换行符和逗号分割字符串,并过滤空项及空白项
const arr = str
  .split(/[\n,\r]+/)          // 同时用换行符、逗号分割
  .filter(item => item.trim() !== ''); // 过滤空字符串和纯空格项
// 步骤 2: 去重
const uniqueArr = [...new Set(arr)];
// console.log(uniqueArr);

// 步骤 3: 用逗号连接结果
const resultStr = uniqueArr.join(',');

const newlineSeparated = uniqueArr.join(',\n'); // 换行连接

console.log(newlineSeparated);
// console.log(resultStr);
comm.setVariableValue("resultStr", resultStr)
comm.setVariableValue("resultArr", uniqueArr)





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
amtath悬赏达人认证 活字格认证
论坛元老   /  发表于:2025-3-4 14:18:40
6#
用数组操作、循环命令也可以。

评分

参与人数 1金币 +5 收起 理由
Joe.xu + 5 很给力!

查看全部评分

回复 使用道具 举报
赛龙周
银牌会员   /  发表于:2025-3-4 19:42:29
7#
去重去空:给一个excel公式版的:
服务端命令添加一个变量,定义公式:
=UNIQUE(TEXTSPLIT(源数据,CHAR(13)&CHAR(10),,1),1)

评分

参与人数 1金币 +5 收起 理由
Joe.xu + 5 很给力!

查看全部评分

回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2025-3-5 09:15:04
8#
感谢大家对活字格的支持
如果您的问题已解决,请及时更新帖子的状态为“已处理”,并设置最佳答案给有帮助到你的回复;
如果您的问题还未解决,欢迎跟帖补充;
如果您有新的问题,也欢迎创建新的求助帖呦。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部