js替换html中的字符串,js怎么替换字符串?

js替换html中的字符串,js怎么替换字符串?在js中,可以使用str.replace()方法来替换字符串。replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串;然后返回一个新的字符串。replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。语法:stringObject.replace(regexp/substr,replacement)返回值一个新的字符串…

大家好,又见面了,我是你们的朋友全栈君。

在js中,可以使用str.replace()方法来替换字符串。replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串;然后返回一个新的字符串。

fc14763e8934f7819d5d8b73e9cf44bb.png

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

语法:stringObject.replace(regexp/substr,replacement)

bd0c5fbe804f5de4850646b32d6ee9b6.png

返回值

一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

说明

字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。

replacement 可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。

8ffdee0a01f04da54c5f30f1445c60a6.png

示例:使用 “hello” 替换字符串中的 “hi”:

var str=”hi!”;

console.log(str.replace(/hi/, “hello”));

输出:hello!

扩展知识replace的用法

1、replace基本用法

/*要求将字符串中所有的a全部用A代替*/

var str = “JavaScript is great script language!”;

//只会将第一个匹配到的a替换成A

console.log(str.replace(“a”,”A”));

//只会将第一个匹配到的a替换成A。因为没有在全局范围内查找

console.log(str.replace(/a/,”A”));

//所有a都被替换成了A

console.log(str.replace(/a/g,”A”));

replace基本用法之替换移除指定class类

/*要求将下面这个元素中的unabled类移除掉*/

提交

var classname = document.getElementById(“j_confirm_btn”).className;

/*(^|\\s)表示匹配字符串开头或字符串前面的空格,(\\s|$)表示匹配字符串结尾或字符串后面的空格*/

var newClassName = classname.replace(/(^|\\s)unabled(\\s|$)/,””);

document.getElementById(“j_confirm_btn”).className = newClassName;

2、replace高级用法之 —- $i

2.1、简单的$i用法

/*要求:将字符串中的双引号用”-“代替*/

var str = ‘”a”, “b”‘;

console.log(str.replace(/”[^”]*”/g,”-$1-“));

//输出结果为:-$1-, -$1-

/*解释:$1就是前面正则(/”[^”]*”/g)所匹配到的每一个字符。*/

2.2、$i与分组结合使用

/*要求:将下面字符串替换成:JavaScript is fn.it is a good script language*/

var str = “JavaScript is a good script language”;

console.log(str.replace(/(JavaScript)\s*(is)/g,”$1 $2 fn.it $2″));

/*解释:每一对括号都代表一个分组,从左往右分别代表第一个分组,第二个分组…;如上”*(JavaScript)”为第一个分组,

“(is)”为第二个分组。$1就代表第一个分组匹配的内容,$2就代表第二个分组匹配的内容,依此类推…*/

2.3、$i与分组结合使用—-关键字高亮显示

当我们使用谷歌搜索的时候我们会发现我们搜索的关键字都被高亮显示了,那么这种效果用JavaScript能否显示呢?答案是可以的,使用replace()很轻松就搞定了。

/*要求:将下列字符串中的”java”用红色字体显示*/

var str = “Netscape在最初将其脚本语言命名为LiveScript,后来Netscape在与Sun合作之后将其改名为JavaScript。

JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。

但JavaScript的主要设计原则源自Self和Scheme。”;

document.write(str.replace(/(java)/gi,’$1‘));

/*解释:必须要开启全局搜索和忽略大小写,否则匹配不到所有的”java”字符*/

2.4、反向分组—-分组的反向引用

在正则中,当我们需要匹配两个或多个连续的相同的字符的时候,就需要用到反向引用了,查找连续重复的字符是反向引用最简单却也是最有用的应用之一。上面的”$i”也是反向分组的一种形式,这里再介绍另一种反向分组。

/* /ab(cd)\1e/ 这里的 \1 表示把第1个分组的内容重复一遍*/

console.log(/ab(cd)\1e/.test(“abcde”));//false

console.log(/ab(cd)\1e/.test(“abcdcde”));//true

/*要求:将下列字符串中相领重复的部分删除掉”*/

var str = “abbcccdeee”;

var newStr = str.replace(/(\w)\1+/g,”$1″);

console.log(newStr); // abcde

3、replace高级用法之参数二为函数

replace函数的第二个参数不仅可以是一个字符,还可以是一个函数!

3.1、参数二为函数之参数详解

var str = “bbabc”;

var newStr = str.replace(/(a)(b)/g,function (){

console.log(arguments);//[“ab”, “a”, “b”, 2, “bbabc”]

/*参数依次为:

1、整个正则表达式所匹配到的字符串—-“ab”

2、第一个分组匹配到的字符串,第二个分组所匹配到的字符串….依次类推一直 到最后一个分组—-“a,b”

3、此次匹配在源字符串中的下标,返回的是第一个匹配到的字符的下标—-2

4、源字符串—-“bbabc”

*/

})

3.2、参数二为函数之首字母大写案例

/*要求:将下列字符串中的所有首字母大写*/

var str = “Tomorrow may not be better, but better tomorrow will surely come!”;

var newStr = str.replace(/\b\w+\b/gi,function (matchStr){

console.log(matchStr);//匹配到的字符

return matchStr.substr(0,1).toUpperCase() + matchStr.substr(1);

});

console.log(newStr);

3.3、参数二为函数之绑定数据—-artTemplate模板核心

周星驰喜剧电影:

var data = {

name: “功夫”,

protagonist: “周星驰”

},

domStr = ‘

名称: {
{name}}
导演: {
{protagonist}}

‘;

document.getElementById(“content”).innerhtml = formatString(domStr,data);

/*绑定数据的核心就是使用正则进行匹配*/

function formatString(str,data){

return str.replace(/{
{(\w+)}}/g,function (matchingStr,group1){

return data[group1];

});

}

4、replace高级用法之获取与正则表达式匹配的文本

4.1、replace高级用法之获取与正则表达式进行匹配的源字符串

var str = “i am a good man”;

var newStr = str.replace(/good/g,”$&”);

console.log(newStr);//结果:输出i am a good man

/*解释:在这里”$&”就是与正则表达式进行匹配的那个源字符串*/

4.2、replace高级用法之获取正则表达式匹配到的字符

/*要求:将”i am a good man”替换成”i am a good-gond man” */

var str = “i am a good man”;

var newStr = str.replace(/good/g,”$&-$&”);

console.log(newStr);

/*解释:在这里”$&”可以获取到前面正则表达式匹配的内容,如上面的”$&”就是正则表达式匹配到的”good”*/

5、replace高级用法之获取正则匹配的左边的字符

/*要求:将下列字符串替换成”java-java is a good script”*/

var str = “javascript is a good script”;

var newStr = str.replace(/script/,”-$`”);

console.log(newStr)

/*解释:”$`”获取的是正则左边的内容,如上正则中”script”字符前面的是”java”,”-$`”就是”-java”,”-$`”会把script替换掉。*/

6、replace高级用法之获取正则匹配的右边的字符

/*要求:将下列字符替换成”java is a good language!it is a good script is a good script”*/

var str = “javascript is a good script”;

var newStr = str.replace(/script/,” is a good language!it$'”);

console.log(newStr)

/*解释:”$'”获取的就是str右边的内容,如上正则中”$'”就是” is a good script”。

” is a good language!it$'”会把正则匹配到的”script”替换掉*/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144812.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • vue中watch监听对象的变化_远程监听器用法

    vue中watch监听对象的变化_远程监听器用法官方解释:一个对象,键是需要观察的表达式,值是对应回调函数。值也可以是方法名,或者包含选项的对象。Vue实例将会在实例化时调用watch,遍历watch对象的每一个属性。示例:滴哟<template> <el-cardclass=”box-card”><el-inputv-model=”name”style=”width:30%;”></el-input></el-card></template.

    2022年10月28日
  • activexobject是什么意思_session函数

    activexobject是什么意思_session函数什么是ActiveX控件?ActiveX控件广泛用于Internet。它们可以通过提供视频、动画内容等来增加浏览的乐趣。不过,这些程序可能出问题或者向您提供不需要的内容。在某些情况下,这些程序可被用来以您不允许的方式从计算机收集信息、破坏您的计算机上的数据、在未经您同意的情况下在您的计算机上安装软件或者允许他人远程控制您的计算机。考虑到这些风险,您应该在完全信任发行商的情况下才安装

    2022年10月14日
  • 雅典娜暴利烹饪系列(上)

    雅典娜暴利烹饪系列(上)刨冰事件田中大人曾经问过:和平是无聊的的代名词吗?答:不是。今天的圣域在纱织的领导下,依然过着比战时更加热闹的日子。  早晨出门时,修罗觉得自己是这个世界上最为幸福的人。为了庆祝他拿到特级厨师证书,女神订购了最新的微波炉和冰箱装备到他的厨房里,吹着口哨出门采购的修罗,觉得今天的阳光格外的灿烂。  修罗出门,一般总是把厨房交给卡妙照顾,卡妙是全圣域厨艺仅次于修罗的人,尤其擅长制作冷饮,其成品清凉

  • Linux常用命令详解_常用shell命令

    Linux常用命令详解_常用shell命令一、日常使用命令/常用快捷键命令开关机命令    1、shutdown–hnow:立刻进行关机     2、shutdown–rnow:现在重新启动计算机     3、reboot:现在重新启动计算机     4、su-:切换用户;passwd:修改用户密码     5、logout:用户注销常用快捷命令     1、…

  • 利用ffmpeg制作gif图[通俗易懂]

    利用ffmpeg制作gif图[通俗易懂]由于老师安排的作业有需求,这里就记录一下利用ffmpeg制作gif图1.确保ffmpeg安装运行会显示版本号:ffmpeg-version没有安装的话先安装:sudoapt-repositoryppa:kirillshkrogalev/ffmpeg-nextsudoapt-getupdatesudoapt-getinstallffmpegffmpeg-ve…

    2022年10月30日
  • QStringList自定义排序

    QStringList自定义排序假如有一个QStringList如下:QStringListkeys=QStringList()<<“1″<<“9″<<“7″<<“5″<<“3”;这样既可实现排序:qSort(keys.begin(),keys.end(),[](constQString&s1,constQStr…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号