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

JS中PGP公钥字符串的精准空格替换需求及问题

JavaScript处理PGP公钥字符串格式的正确方案

直接用分步正则替换即可实现需求,既保留标记内部空格,又按规则替换其他空格:

var generated_pubkey = "-----BEGIN PGP PUBLIC KEY BLOCK----- xjMEY17rXBY86d3b e2e70cf35bc6b9490 0a0e76a27a9fc15e769 d674e3a9ce7d6bad5== =G4p6 -----END PGP PUBLIC KEY BLOCK----- ";

let formattedPubkey = generated_pubkey
  // 替换BEGIN标记后的首个空格为\n\n
  .replace(/(-----BEGIN PGP PUBLIC KEY BLOCK-----) /, '$1\n\n')
  // 替换END标记前后的空格为\n,保留标记内部空格
  .replace(/ (-----END PGP PUBLIC KEY BLOCK-----) /, '\n$1\n')
  // 替换密钥内容里的所有空格为单个\n
  .replaceAll(' ', '\n');

console.log(formattedPubkey);

步骤说明:

  1. 处理BEGIN标记后的空格:用正则捕获完整的BEGIN标记,仅替换标记后的第一个空格为\n\n,完全保留标记内部的空格(比如BEGIN与PGP之间的空格)。
  2. 处理END标记前后的空格:捕获完整的END标记,将其前后的空格分别替换为\n,同时处理了字符串末尾的空格。
  3. 处理密钥内容空格:将剩余所有空格(均为密钥分段的分隔空格)替换为单个\n,完成格式统一。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:31:04