ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

“hello world”的第5、7位替换成“*”,有什么快速简易的方法?

2022-02-27 03:31:35  阅读:171  来源: 互联网

标签:替换成 js 数组 字符串 world 方法 hello


也算是突然间的发现,js在操作字符串的时候,不是那么灵活,如臂使指

比如一个很简单且普遍的需求,对一个字符串,替换其中的某一位的时候,操作起来就很不容易

如题:

“hello world”的第5、7位替换成“*”,有什么快速简易的方法?

一开始想着像操作数组一样操作字符串下标,给它赋值,但令人惊讶的是,这行不通,只能读取,不能修改

 

 我想,这在一定程度上,这在一定程度上反应了js中字符串的特点:

要改变变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量

所以,仅用这种简单到近乎赤裸的方法修改字符串应该是行不通的。

那么我们有什么办法来实现呢?

一、转成数组的方式来解决

我们通过解构的方式将字符串拆分成数组,然后修改数组来改变我们的内容,最后再通过join方法来将数组转回字符串

 

 二、将字符串切开替换,再拼接回来

slice()、substr()、substring()这三个方法取子字符串的方式大同小异,都是找到开始位置,然后往后取,即便传入负值时也是如此

所以我们想要把“123456789”拆分成“1234”、“567”、“89”时,需要1)字符串长度,2)被替换的子字符串长度,3)后半段字符串开始位置

 

 

标签:替换成,js,数组,字符串,world,方法,hello
来源: https://www.cnblogs.com/youfu/p/15941392.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有