字符串数组清洗代码|自动净化文案数组中的空格、引号及冗余标点

字符串数组清洗代码

这是一段扣子工作流代码节点的JavaScript代码,功能是接收字符串数组输入,通过去首尾空格、过滤空值、移除英文引号/结尾标点/所有空格,输出规范化的干净文案数组。

📝 提示词原文

累计复制 0
// 定义一个异步主函数main,接收参数对象{params},返回Promise包裹的输出结果
async function main({ params }: Args): Promise<Output> {
    // 从输入参数中提取input(字符串数组),进行三步处理:
    const wenan = (params.input as string[])  // 将输入转为字符串数组类型
      // ➊ 去首尾空格:对数组中每个字符串,去掉开头和结尾的多余空格
      .map(s => s.trim())
      // ➋ 过滤空文案:去掉数组中为空(或纯空格)的元素
      .filter(Boolean)
      // ➌ 逐条清洗:对每个非空字符串进一步处理
      .map(line => {
        // a. 移除英文引号:删掉字符串里的单引号'或双引号"
        line = line.replace(/["']/g, '');
  
        // b. 移除结尾标点:删掉字符串末尾的中英文逗号(,)句号(。)
        line = line.replace(/[.,。]+$/g, '');
  
        // c. 移除所有空格:删掉字符串里所有的空格字符(包括中间空格)
        line = line.replace(/\s+/g, '');  // \s+匹配一个或多个空格,替换为空
  
        return line;  // 返回清洗后的干净字符串
      });
  
    return { wenan };  // 把清洗后的数组作为wenan字段返回
}

扣子工作流代码节点常见问题

代码节点支持哪些编程语言?
目前扣子工作流代码节点主要支持 JavaScript(Node.js 环境)和 Python。您可以在节点设置中选择语言,推荐使用 JavaScript 以更好地与前端交互。
如何在代码节点中引入第三方库?
扣子代码节点内置了常用库(如 axios、lodash),无需额外安装。如果需要其他库,可使用动态导入(ES6)或通过在线依赖注入。具体可参考官方文档的“允许的依赖列表”。
代码节点如何获取上游节点的输出数据?
通过代码节点的输入参数对象 inputs 获取,例如 const data = inputs.user_query。确保上游节点的输出字段名与代码中引用的名称一致。
代码节点如何返回数据给下游节点?
使用 return 语句返回一个对象,对象的属性将成为输出字段。例如 return { result: "处理完成" };。下游节点可通过 {{节点名.result}} 引用。
代码节点执行超时或内存不足怎么办?
扣子代码节点默认超时时间较短(通常 5-10 秒),避免在代码中执行大量同步循环或大数据处理。建议将复杂任务拆分为多个节点,或使用异步流处理。如果必须处理大数据,考虑分批或调用外部API。
代码节点能访问环境变量或工作流全局变量吗?
可以通过 process.env 访问系统环境变量(仅限内置变量)。工作流全局变量(如工作流ID、用户ID)可通过 inputs 中的特定字段获取,具体需查看平台文档。
代码节点出错后如何定位问题?
利用 console.log() 打印关键变量,然后在工作流运行日志中查看输出。也可以使用 try-catch 捕获错误并返回自定义错误信息,便于调试。