You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用.split捕获的分隔符重新拼接数组?

保留原分隔符的URL格式化方案

你的代码目前通过/\s+/拆分字符串后用空格拼接,会把原本的换行、多空格等分隔符统一替换成单一空格。要保留原分隔符,不需要拆分再拼接,直接用replace方法处理每个URL候选即可:

修改后的代码:

/** wraps URLS found in message with `<span class="hyperlink"></span>`. */
parseURLs(message) {
  if (!message) return '';

  // 全局匹配所有连续非空白字符,仅处理这些字符,原分隔符自动保留
  return message.replace(/\S+/g, (word) => {
    try {
      const url = new URL(word);
      return `<span class="hyperlink">${word}</span>`;
    } catch {
      return word;
    }
  });
}

改动说明

  • 用/\S+/g全局匹配所有连续非空白字符(对应你之前拆分出的每个word)
  • 回调函数里保留原有的URL校验逻辑:能解析成URL的就包裹<span>标签,否则原样返回
  • 原字符串中的各种空白分隔符(换行、多空格、制表符等)都会完整保留,因为我们只修改非空白的内容部分

内容的提问来源于stack exchange,提问作者Alex Pappas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 08:20:42