distinctk 2026-04-06 22:10 采纳率: 60%
浏览 2

请教用wpsjs宏代码对同时包含多种拆分规则的MAP拆分方法

img


//想要用WPSJS宏实现的效果是:当有换行符的时候,以换行符拆分,但是当没有换行符的时候,则不拆分直接进行下一步的操作。
//将所有的空格字符串删除,再以["货款","元","美元"]或定金来拆分,如果是空白单元格则跳过处理下一个单元格。最终得到["序号","订单号","金额"]的结果写入
//我已尝试着用try{}来做,但是有点不知道应该放在哪里才能衔接上MAP的语句了
以下是我使用的代码,报错原因是每次替换 或拆分时会遇到空白单元格,和需要替换或拆分的字符串不存在的导致出错

function 选中拆分ABB测试1(){
    var arr=Selection.Value();
    var arr_new=arr.map(row=>{
            var arrr=row[1].split(/\n/).map(ar=>ar.replace(/\s+/g, ""));
            return arrr.map(x=>{
                var ar1=x.split(/["货款","元","美元"]/).map((v,i,a)=>[row[0],a[0],v]);//"货款","元","美元"
                ar1.shift();
                return ar1;
            });
        }).flat(2);
    arr_new.unshift(["序号","订单号","金额"])
    Selection.Offset(1,5).Resize(arr_new.length,3).Value2=arr_new;
}

  • 写回答

3条回答 默认 最新

  • distinctk 2026-04-06 23:58
    关注

    已解决

    评论

报告相同问题?

问题事件

  • 修改了问题 4月6日
  • 修改了问题 4月6日
  • 创建了问题 4月6日