JS替换字符串中指定位置的字符(多种方法)


Posted in Javascript onMay 28, 2020

假设有一个字符串,可能'Good Morning'也可能是'Hello World',我想将第五个字符,替换成'-'
因为字符串虽然可以像数组那样获取某一位置字符'Hello World'[4],但是不能像数组那样直接修改某一位置的字符'Hello World'[4] = '-',这样是行不通的,但是可以把它切分成数组,修改某一位置的值,然后在合并回来。
方法1:

const replaceStr1 = (str, index, char) => {
 const strAry = str.split('');
 strAry[index] = char;
 return strAry.join('');
 }
 replaceStr(str1, 4, '-'); // => Good-Morning
 replaceStr(str2, 4, '-'); // => Hell- World

js的字符串有个substring方法,用于提取字符串中介于两个指定下标之间的字符,也就是说可以用'Hello World'.substring(0, 4),得到Hell,加上要替换的字符,再加上后面的字符串就可以。
方法2:

const replaceStr2 = (str, index, char) => {
 return str.substring(0, index) + char + str.substring(index + 1);
 }
 replaceStr2(str1, 4, '-'); // => Good-Morning
 replaceStr2(str2, 4, '-'); // => Hell- World

ps:下面看下js替换字符串中所有指定的字符

第一次发现JavaScript中replace()方法如果直接用str.replace("-","!")只会替换第一个匹配的字符.
str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。

replace()
Thereplace()methodreturnsthestringthatresultswhenyoureplacetextmatchingitsfirstargument
(aregularexpression)withthetextofthesecondargument(astring).
Iftheg(global)flagisnotsetintheregularexpressiondeclaration,thismethodreplacesonlythefirst
occurrenceofthepattern.Forexample,

vars="Hello.Regexpsarefun.";s=s.replace(/\./,"!");//replacefirstperiodwithanexclamationpointalert(s);

producesthestring“Hello!Regexpsarefun.”Includingthegflagwillcausetheinterpreterto
performaglobalreplace,findingandreplacingeverymatchingsubstring.Forexample,

vars="Hello.Regexpsarefun.";s=s.replace(/\./g,"!");//replaceallperiodswithexclamationpointsalert(s);

yieldsthisresult:“Hello!Regexpsarefun!”

所以可以用以下几种方式.:

string.replace(/reallyDo/g,replaceWith);
string.replace(newRegExp(reallyDo,'g'),replaceWith);

string:字符串表达式包含要替代的子字符串。
reallyDo:被搜索的子字符串。
replaceWith:用于替换的子字符串。

Js代码

<script type="text/javascript"> 
String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) { 
  if (!RegExp.prototype.isPrototypeOf(reallyDo)) { 
    return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith); 
  } else { 
    return this.replace(reallyDo, replaceWith); 
  } 
} 
</script>

总结

到此这篇关于JS替换字符串中指定位置的字符的文章就介绍到这了,更多相关js替换字符内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
js中的window.open返回object的错误的解决方法
Aug 15 Javascript
Javascript 类型转换方法
Oct 24 Javascript
为你的网站增加亮点的9款jQuery插件推荐
May 03 Javascript
可选择和输入的下拉列表框示例
Nov 05 Javascript
jQuery过滤选择器详解
Jan 13 Javascript
学习JavaScript编程语言的8张思维导图分享
Mar 27 Javascript
Node.js插件安装图文教程
May 06 Javascript
jQuery属性选择器用法示例
Sep 09 Javascript
js实现文字无缝向上滚动
Feb 16 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
Oct 20 jQuery
基于js中style.width与offsetWidth的区别(详解)
Nov 12 Javascript
如何从头实现一个node.js的koa框架
Jun 17 Javascript
js实现九宫格布局效果
May 28 #Javascript
微信小程序实现电子签名并导出图片
May 27 #Javascript
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
May 27 #Javascript
微信公众号网页分享功能开发的示例代码
May 27 #Javascript
JS字符串补全方法padStart()和padEnd()
May 27 #Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
May 27 #Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
May 27 #Javascript
You might like
默默小谈PHP&amp;MYSQL分页原理及实现
2007/01/02 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
json原理分析及实例介绍
2012/11/29 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
详谈Node.js之操作文件系统
2017/08/29 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
JavaScript定时器常见用法实例分析
2019/11/15 Javascript
vue实现简单学生信息管理
2020/05/30 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
python中的格式化输出用法总结
2016/07/28 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
Python安装whl文件过程图解
2020/02/18 Python
Python短信轰炸的代码
2020/03/25 Python
浅谈keras使用中val_acc和acc值不同步的思考
2020/06/18 Python
使用CSS3实现字体颜色渐变的实现
2020/08/10 HTML / CSS
Clearly新西兰:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
师范生自荐信
2013/10/27 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
社会公德演讲稿
2014/05/20 职场文书
五心教育心得体会
2014/09/04 职场文书
解放思想大讨论活动心得体会
2014/09/11 职场文书
个人党性分析材料
2014/12/19 职场文书
大雁塔英文导游词
2015/02/10 职场文书
质量保证书格式模板
2015/02/27 职场文书