如何在 javascript 中替换字符串
How to do String replace in javascript
我正在制作一个网络应用程序,在我的管理端有一个添加动态输入的功能。管理员将在 textarea
中输入文本,例如:
'sample: _4_' | 'sample2: _some_'
我想要实现的是,我想将第一个 '
替换为 <p>
并将第二个 '
替换为 </p>
并且当分隔符 (|
) 满足,再次替换第一个 '
到 <p>
和第二个 '
到 </p>
。最终输出将是
<p>sample: _4_</p> <p>sample2: _some_</p>
可能吗?我真的不知道代码。谢谢!
您可以使用 split
和 join
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>
您可以在字符串上使用 replace
并结合使用 split
和 join
来尝试此解决方案:
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("|"," ");
这是fiddle
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));
我正在制作一个网络应用程序,在我的管理端有一个添加动态输入的功能。管理员将在 textarea
中输入文本,例如:
'sample: _4_' | 'sample2: _some_'
我想要实现的是,我想将第一个 '
替换为 <p>
并将第二个 '
替换为 </p>
并且当分隔符 (|
) 满足,再次替换第一个 '
到 <p>
和第二个 '
到 </p>
。最终输出将是
<p>sample: _4_</p> <p>sample2: _some_</p>
可能吗?我真的不知道代码。谢谢!
您可以使用 split
和 join
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>
您可以在字符串上使用 replace
并结合使用 split
和 join
来尝试此解决方案:
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("|"," ");
这是fiddle 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));