JS中replace替换全部的正确应用

前端开发 作者: 2024-08-20 18:25:01
一般使用 使用正则: 循环替换 如下这种情况,表情标签的替换,我们需要正常的字符串替换,例如结合 while + indexOf 实现。 这样,基本功能实现,不过这是有问题的,如果有一个键值相同的,就
var str = "test-test-test";
str = "test-test-test".replace("test","ok");
console.log(str);
;
str = "test-test-test".replace(/test/g,1)">);
console.log(str);
var faces = {
  "/::)": "weixiao","/::~": "pizui"
};

var str = "/::)-/::B-/::)-/:8-)-/:8-)";

for (var k in faces) {
  while(str.indexOf(k) > -1) {
    str = str.replace(k,faces[k]);
  }
}

console.log(str);
var str = "/::)-/::B-/:hehe-/:8-)-/:8-)"
var p = -1; // 字符出现位置
  var s = 0;  下一次起始位置
  while((p = str.indexOf(k,s)) > -1) {
    s = p + faces[k].length;  位置 + 值的长度
    str =
/**
 * 字符串替换
 * @param  {string} str    要被替换的字符串
 * @param  {string} substr 要替换的字符串
 * @param  {string} newstr 用于替换的字符串
 * @return {string}        替换后的新字符串
 */
function replace(str,substr,newstr) {
   下一次起始位置

  while((p = str.indexOf(substr,1)">) {
    s 
= p + newstr.length; str.replace(substr,newstr); } return str; } console.log( replace("ssssss","ss","s") ); sss
 转义字符串中的元字符
  var re = new RegExp(substr,"g");  生成正则
   str.replace(re,newstr);
}

console.log( replace("ssssss",1)"> sss
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_65655.html