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 相关文章推荐
经典的带阴影的可拖动的浮动层
Jun 26 Javascript
零基础学JavaScript最新动画教程+iso光盘下载
Jan 22 Javascript
网页中的图片的处理方法与代码
Nov 26 Javascript
JQuery 引发两次$(document.ready)事件
Jan 15 Javascript
javascript事件模型实例分析
Jan 30 Javascript
如何用javascript计算文本框还能输入多少个字符
Jul 29 Javascript
jQuery+JSON实现AJAX二级联动实例分析
Dec 18 Javascript
js闭包引起的事件注册问题介绍
Mar 29 Javascript
Node.js 文件夹目录结构创建实例代码
Jul 08 Javascript
详解axios在vue中的简单配置与使用
May 10 Javascript
bootstrap与pagehelper实现分页效果
Dec 29 Javascript
详解Vue的七种传值方式
Feb 08 Vue.js
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实现的九九乘法口诀表简洁版
2014/07/28 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
php preg_match的匹配不同国家语言实例
2016/12/29 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
js parseInt(&quot;08&quot;)未指定进位制问题
2010/06/19 Javascript
JQuery切换显示的效果实例代码
2013/02/27 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
jquery图片轮播特效代码分享
2020/04/20 Javascript
jquery读写cookie操作实例分析
2015/12/24 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
2018/03/07 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
js实现车辆管理系统
2020/08/26 Javascript
解决vant中 tab栏遇到的坑 van-tabs
2020/11/04 Javascript
Python struct.unpack
2008/09/06 Python
Python中使用partial改变方法默认参数实例
2015/04/28 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
浅谈python标准库--functools.partial
2019/03/13 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
python初步实现word2vec操作
2020/06/09 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
一套软件测试笔试题
2014/07/25 面试题
2015出纳试用期工作总结
2014/12/12 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
2015年幼师工作总结
2015/04/28 职场文书
小学六一主持词开场白
2015/05/28 职场文书
回复函格式及范文
2015/07/14 职场文书
二十年同学聚会感言
2015/07/30 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书
SQL Server使用PIVOT与unPIVOT实现行列转换
2022/05/25 SQL Server