自定义插入子串、删除子串、替换子串函数

本文地址: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~~~≥ω≤

感谢您的阅读及指正,让我们一起进步。
欢迎联系我交流:veinyin@gmail.com
作者:VeinYin
博客地址:https://www.cnblogs.com/veinyin/
如需转载请注明出处。
原文地址:https://www.cnblogs.com/veinyin/p/7646668.html