如何在JS/Python中替换URL日期格式的斜杠为点(适配Zapier)
Zapier JS代码:替换查询字符串中的日期斜杠为点
你的原代码问题出在正则表达式写法和替换逻辑上:
- 原正则
/b[\d{2}/\d{2}/\d{4}]/g会匹配单个数字、{、2、/这类字符,而非完整日期 - 直接替换为点会把整个日期变成点,而非仅替换日期内的斜杠
以下是修正后的JS代码,能精准替换日期中的斜杠,同时保留其他内容,最后完成URL编码:
let inputStr = inputData.INPUT; // 匹配DD/MM/YYYY格式的日期,将其中的斜杠替换为点 let replacedStr = inputStr.replace(/\b\d{2}\/\d{2}\/\d{4}\b/g, (match) => { return match.replace(/\//g, '.'); }); // 对处理后的内容进行URL编码,适配查询字符串要求 let finalOutput = encodeURIComponent(replacedStr); // 输出多组结果方便调试 output = [{ originalInput: inputStr, replacedUnencoded: replacedStr, encodedOutput: finalOutput }];
代码说明
- 正则
\b\d{2}\/\d{2}\/\d{4}\b:\b确保匹配完整的日期(避免误匹配长数字串中的片段),\d{2}\/\d{2}\/\d{4}精准匹配两位数字/两位数字/四位数字的日期格式 - 回调函数:对每个匹配到的日期单独处理,只替换其中的斜杠为点,不影响其他位置的斜杠
encodeURIComponent:将处理后的字符串编码为符合URL规范的格式,避免特殊字符导致的问题
如果你的日期格式是MM/DD/YYYY,无需修改正则逻辑,代码依然有效。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

