var generated_pubkey = "-----BEGIN PGP PUBLIC KEY BLOCK----- xjMEY17rXBY86d3b e2e70cf35bc6b9490 0a0e76a27a9fc15e769 d674e3a9ce7d6bad5== =G4p6 -----END PGP PUBLIC KEY BLOCK----- "
我想用 \n\n 替換 "-----BEGIN PGP PUBLIC KEY BLOCK-----" 之后的空格,并用 1 \n 替換所有其他空格,同時保留措辭之間的空格 - ---BEGIN PGP PUBLIC KEY BLOCK-----”沒有任何替換也保留“END PGP PUBLIC KEY BLOCK”
所以結果變成:
"-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nxjMEY17rXBY86d3b\ne2e70cf35bc6b9490\n0a0e76a27a9fc15e769\nd674e3a9ce7d6bad5==\n=G4p6\n-----END PGP PUBLIC KEY BLOCK-----\n"
注意:生成的公鑰是隨機的。雙\n\n總是安裝在第一個“BLOCK-----”之后,如上圖,公鑰字串總是以空格結尾,應該替換為單個\n,而其他空格將替換為單個\n。
我已經嘗試過:
generated_pubkey.replaceAll(" ", "\n")
但這甚至取代了BEGIN PGP等和END PGP等措辭之間的間距
uj5u.com熱心網友回復:
首先可以使用 將'-----BEGIN PGP PUBLIC KEY BLOCK----- '(一個空格)替換為'-----BEGIN PGP PUBLIC KEY BLOCK----- '(兩個空格).replace()。
然后,您需要做的就是創建一個簡單的函式來在新行或空格之間切換,具體取決于它是否在兩個-----s之間
function replaceSpaces(str) {
let ret = "";
let isOn = true;
for (const tok of str.split(' ')) {
if (tok.includes('-----')) isOn = !isOn;
if (isOn) ret = tok '\n';
else ret = tok ' ';
}
return ret;
}
let generated_pubkey = "-----BEGIN PGP PUBLIC KEY BLOCK----- xjMEY17rXBY86d3b e2e70cf35bc6b9490 0a0e76a27a9fc15e769 d674e3a9ce7d6bad5== =G4p6 -----END PGP PUBLIC KEY BLOCK----- ";
generated_pubkey = generated_pubkey.replace('-----BEGIN PGP PUBLIC KEY BLOCK----- ', '-----BEGIN PGP PUBLIC KEY BLOCK----- ')
const new_pubkey = replaceSpaces(generated_pubkey);
console.log(new_pubkey);
uj5u.com熱心網友回復:
如果有你不想替換的標志,你可以將它設定為一個不出現的字符,然后使用replaceAll,從上面重置字符,比如:
let generated_pubkey = "-----BEGIN PGP PUBLIC KEY BLOCK----- xjMEY17rXBY86d3b e2e70cf35bc6b9490 0a0e76a27a9fc15e769 d674e3a9ce7d6bad5== =G4p6 -----END PGP PUBLIC KEY BLOCK----- ";
let temp = generated_pubkey.replaceAll("-----BEGIN PGP PUBLIC KEY BLOCK----- ", "-----BEGIN~PGP~PUBLIC~~KEY~BLOCK-----\n\n");
temp = temp.replaceAll("-----END PGP PUBLIC KEY BLOCK-----", "-----END~PGP~PUBLIC~KEY~BLOCK-----");
temp = temp.replaceAll(" ", "\n");
temp = temp.replaceAll("~", " ");
generated_pubkey = temp;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/524458.html
