亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript 字符串替換沒有替換我的參數

Javascript 字符串替換沒有替換我的參數

瀟湘沐 2022-12-22 15:57:52
我有以下字符串:"Write the conjugate of each radical expression.\n\n**(a)** `$2\\sqrt{3} - 4$`\n\n**(b)** `$\\sqrt{3} +\\sqrt{2}$`\n\n**(c)** `$-2\\sqrt{3} - \\sqrt{2}$`\n\n**(d)** `$3\\sqrt{3} + \\sqrt{2} $`\n\n**(e)** `$\\sqrt{2} - \\sqrt{5}$`\n\n**(f)** `$-\\sqrt{5} + 2\\sqrt{2}$`"我有以下函數來遍歷一個字符串并替換子字符串:var changeString = function(markdownStr) {      return markdownStr.replace(/`/g, "").replace("$ ", "$").replace(" $", "$"); };我得到的結果是它替換了一些條件(`),但它對最后一個替換條件(“$”)不起作用。這是輸出:Write the conjugate of each radical expression. **(a)**$2\sqrt{3} - 4$ **(b)** $\sqrt{3} +\sqrt{2}$ **(c)** $-2\sqrt{3} - \sqrt{2}$ **(d)** $3\sqrt{3} + \sqrt{2} $ **(e)** $\sqrt{2} - \sqrt{5}$ **(f)** $-\sqrt{5} + 2\sqrt{2}$您可以看到 (d) 選項,它仍然輸出 as$3\sqrt{3} + \sqrt{2} $但我預計它是$3\sqrt{3} + \sqrt{2}$.發生了什么,為什么不替換它?這是一個代碼筆示例: https ://codepen.io/jae_kingsley/pen/MWyWZbN
查看完整描述

2 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

來自W3School

如果您要替換一個值(而不是正則表達式),則只會替換該值的第一個實例

所以你應該對所有替換使用正則表達式,而不僅僅是第一個。不要忘記你必須逃避$

.replace(/\s\$/g, '$')


查看完整回答
反對 回復 2022-12-22
?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

將您的代碼更改為以下內容將起作用,因為它可以解釋$之前或之后或沒有空格的任何內容。所以它會匹配 $$ $,     $等等。

var changeString = function(markdownStr) { 
 return markdownStr.replace(/`/g, "").replace(/\s*\$\s*/g, '$');
};


查看完整回答
反對 回復 2022-12-22
  • 2 回答
  • 0 關注
  • 84 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號