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

转载于:https://www.cnblogs.com/veinyin/p/7646668.html

自定义插入子串、删除子串、替换子串函数相关推荐

  1. 给定2个字符串,如何计算变化(插入、删除、替换)?【levenshtein distance 算法】

    给定2个字符,计算字符串发生了那些变化(插入.删除.替换) import { insert, remove, update } from "ramda"; // 计算差异度 exp ...

  2. 《从零开始学Swift》学习笔记(Day 14)——字符串的插入、删除和替换

    原创文章,欢迎转载.转载请注明:关东升的博客 对应可变字符串可以插入.删除和替换,String提供了几个方法可以帮助实现这些操作.这些方法如下: splice(_:atIndex:).在索引位置插入字 ...

  3. slice和splice数组的截取/splice可以插入、删除、替换/数组截取 slice的详细解释

    数组截取 slice slice是从第几位开始截取,但是不包括第几位,假如从第一位开始截取,到第三位,那么就是不包括第一位,直接去第二位和第三位. 他的参数可以写1个arr.slice(1),可以写两 ...

  4. JS--JavaScript节点插入、删除、替换、克隆(appendChild、cloneNode、insertBefore、normalize、removeChild、replaceChild)

    操作节点 Node类型为所有节点定义了很多原型方法,以方便对节点进行操作,其中获得所有浏览器一致支持的方法如下表: Node类型原型方法说明: 方法 说明 appendChild() 向节点的子节点列 ...

  5. 每天一道LeetCode-----使用最少的操作将一个字符串转换成另一个字符串,只有插入,删除,替换三种操作

    Edit Distance 原题链接Edit Distance 题目要求,输入两个字符串word1和word2,计算可以将word1转换成word2的最小的操作次数,可以执行的操作如下,每个操作算作1 ...

  6. 【JavaScript】DOM节点-创建、插入、删除、替换、克隆节点

    文章目录 DOM节点 创建节点 1. 创建元素节点 2. 创建文本节点 插入节点 1. appendChild() 2. insertBefore() 删除节点 1. removeChilde() 2 ...

  7. c语言 替换字符串中的子串,字符串中的子串替换

    在很多编程语言中,都封装了字符串替换的操作,那么我们这里自己用C语言来实现一个字符串替换的函数.具体需求为:Replace(String S,String T,String V),用V替换主串S中出现 ...

  8. c语言删除文件中的结构体_C语言插入、删除、更改文件内容

    我们平时所见的文件,例如 txt.doc.mp4 等,文件内容是按照从头到尾的顺序依次存储在磁盘上的,就像排起一条长长的队伍,称为顺序文件. 除了顺序文件,还有索引文件.散列文件等,一般用于特殊领域, ...

  9. 第十一章 文件操作_C语言插入、删除、更改文件内容

    我们平时所见的文件,例如 txt.doc.mp4 等,文件内容是按照从头到尾的顺序依次存储在磁盘上的,就像排起一条长长的队伍,称为顺序文件. 除了顺序文件,还有索引文件.散列文件等,一般用于特殊领域, ...

最新文章

  1. 求职华为,被问观察者模式,从没有这种体验!!!
  2. 细说Python Lambda函数的用法,建议收藏!
  3. 第12天--css三种定位及z-index
  4. jenkins pipeline之如何串联多个Job
  5. 并发与计算机体系结构
  6. php短信接口怎么用,php短信接口接入详细过程
  7. python舞蹈链数独游戏
  8. 浅学socket及iOS中的AsyncSocket框架
  9. vue+echarts+springboot实现云词图
  10. python 恶搞(仿粽子写的)
  11. 中国大学MOOC(慕课)网课答案怎么查?
  12. 关于推荐系统的全面调研与探讨!千万别错过!
  13. 最新WordPress二次元博客主题Sakurairo模板源码+多彩且实用
  14. CCleaner解决的三个问题
  15. sin函数对照表_三角函数表值对照表格
  16. W5500+DHCP+DNS+MQTT
  17. springboot毕设项目大学生租房系统s9331(java+VUE+Mybatis+Maven+Mysql)
  18. ppt文件损坏怎么修复?实用方法不要错过
  19. MIPS指令集中LB和LW的区别
  20. 【MySQL 第三天数据库表 增删改查】

热门文章

  1. 'nmake' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  2. consul配置mysql集群_consul1.6实现Mysql-Gtid主从读写分离和高可用-03
  3. mysql base dir_install_mysql57.sh
  4. namenode无法启动_大数据系列教程003-hadoop伪分布式环境搭建步骤11-启动与验证环境...
  5. iphone远没有android好用,抛弃iPhone转投Android 我竟没有一丝留恋
  6. testng_TestNG @工厂注释
  7. 开课吧课堂之throws如何去使用?
  8. 物联网架构成长之路(18)-接阿里云OSS服务
  9. 我在百度运维的成长经历 之五
  10. 英国科研学术网络Janet遭遇DDoS攻击