本文地址:http://www.cnblogs.com/veinyin/p/7646668.html
仅给出实现简单代码,如需考虑健壮性,可根据此思路进一步完善
基本实现思路是先根据传入位置把字符串进行切割,操作后进行拼接
插入子串
1 /* 2 * 插入子串 3 * */ 4 5 var is = "haha"; /* 插入子串 */ 6 var str = "hello veinyin"; /* 父串 */ 7 8 /* 参数为: 父串 子串 插入位置 */ 9 function insertStr(ss,s,index){ 10 var fonts = ss.slice(0,index); /* 开头子串 */ 11 var ends = ss.slice(index); /* 尾部子串 */ 12 return fonts + s + ends; /* 拼接后的新串 */ 13 } 14 15 insertStr(str,is,4); 16 17 /* 18 * 插入子串结束 19 * */
删除子串
1 /* 2 * 删除子串 3 * */ 4 5 /* 参数为: 父串 要删除的子串 */ 6 function deletestr(ss,s) { 7 var fontS = ss.slice(0,ss.indexOf(s)); /* 子串前面部分 */ 8 var endS = ss.slice(ss.indexOf(s) + s.length); /* 子串后面部分 */ 9 var newStr = fontS + endS; /* 操作结果 */ 10 return newStr; 11 } 12 13 var str = "hello world"; 14 var ds = "lo"; 15 deletestr(str,ds); 16 17 /* 18 * 删除子串结束 19 * */
替换子串
1 /* 2 * 替换字符串 3 * */ 4 5 /* 父串 要替换的旧子串 替换旧子串的新子串 */ 6 function replaceStr(ss,oldsS, newS) { 7 var fontS = ss.slice(0, ss.indexOf(oldsS)); 8 var endS = ss.slice(ss.indexOf(oldsS) + oldsS.length); 9 var newStr = fontS + newS + endS; 10 return newStr; 11 } 12 13 replaceStr("hello world", "world", "vinyin"); 14 15 /* 16 * 替换字符串结束 17 * */
还可以把字符串转换成数组,用数组的 splice() 方法
1 str = "hello".split(""); 2 str.splice(1,2,"ii"); 3 console.log(str.join(""));
上面代码也简单实现了替换功能
END~~~≥ω≤