簡體   English   中英

如何在JavaScript中進行字符串替換

[英]How to do String replace in javascript

我正在制作一個Web應用程序,在我的管理端,有一個添加動態輸入的功能。 管理員將在文本textarea輸入文本,例如:

'sample: _4_' | 'sample2: _some_'

我想實現的是,我想更換一次'<p>和第二'</p>當分隔符( | )滿足,再次更換第一'<p>和第二'</p> 最終輸出將是

<p>sample: _4_</p> <p>sample2: _some_</p>

可能嗎? 我真的不知道代碼。 謝謝!

您可以使用splitjoin javascript函數替換字符串中的所有匹配項(實際上是char數組)。

嘗試這個:

val = val.split("' | '").join("</p> <p>");
val = val.split("'").join("<p>");
val = val.slice(0,-3) + "</p>");  // Replace the last <p> to </p>

您可以使用帶有splitjoin組合的字符串replace來嘗試此解決方案:

val = val.split("' | '").join("<p> </p>");
val = val.replace(/^'/,"<p>").replace(/'$/,"</p>"); // Replaces first "'" with <p> and last "'" with </p>

嘗試這個

var str = "'sample: _4_' | 'sample2: _some_'";

var i=0;

for(k=0;k<str.split("'").length+2;k++)
{
str=str.replace("'",function myFunction(){if(i==0) {i=1;return "<p>"; }if  (i==1){i=0;return "</p>";} });
}

str=str.replace("|"," ");

這是小提琴https://jsfiddle.net/j64u5em6/1/

您已尋求一種將_替換為<b> / </b>

 var getReplacement = (function() { var replacements = { "'": { i: 0, elements: ["<p>", "</p>"] }, "_": { i: 0, elements: ["<b>", "</b>"] } }; return function(match) { var replacement = replacements[match]; if (replacement) { return replacement.elements[replacement.i++ % replacement.elements.length]; } else { return match; } }; }()); var str = "'sample: _4_' | 'sample2: _some_'"; console.log(str.replace(/'|_/g, getReplacement)); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM