定义和用法
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
注意点:如果没有一个变量来接收的话,replace()方法是不起作用的
方法一:全文检索某个字符,并全部替换
this.articleContent = data.content.replace(/data-src/g, 'src')
方法二:字符串中某些字符切换
var previewUrl = window.location.href.replace(window.location.hash, "#/preview")
方法三:可以配合正则一起使用(例如:把单词的首字母转换为大写)
name = 'aaa bbb ccc';
uw=name.replace(/\b\w+\b/g, function(word){
return word.substring(0,1).toUpperCase()+word.substring(1);}
);
document.write (uw);
实用场景一:后台返回的是数字对应文字,觉得使用循环处理比较麻烦,这时候可以选择replace()替换偷个懒
for (let i = 0; i < this.tableData.length; i++) {
var str=this.tableData[i].topicPlanChannel.replace('5','电视')
var str1=str.replace('1','APP')
var str2=str1.replace('3','微信')
var str3=str2.replace('4','微博')
var str4=str3.replace('2','互联网')
var str5=str4.replace('6','直播')
this.tableData[i].topicPlanChannelList=str5
}
实用场景二:全文搜索关键词,让关键词高亮显示
// 关键字高亮
searchHighLight (list) {
let queryString = this.params.mainHeader
// 匹配关键字正则
let replaceReg = new RegExp(queryString, 'g');
this.tableData = list.map(item => {
// 高亮替换v-html值
let replaceString = '<span style="color: #2676F6;">' + queryString + '</span>';
if(queryString) {
// 开始替换
item.mainHeader = item.mainHeader.replace(replaceReg, replaceString);
}
return item
})
},