javascript的replace方法结合正则使用实例总结
网络编程 2021-07-04 19:59www.168986.cn编程入门
这篇文章主要介绍了javascript的replace方法结合正则使用技巧,实例了replace方法配合正则表达式进行变量、分组、字符等替换技巧,需要的朋友可以参考下
本文实例了javascript的replace方法结合正则使用方法。分享给大家供大家参考,具体如下
replace()方法用于在字符串中用一些字符替换另一些字符,或者替换一个正则表达式匹配的字符串
例子一直接使用repalce替换
var stringObj="终古人民共和国,终古人民"; //替换错别字“终古”为“中国” //并返回替换后的新字符 //原字符串stringObj的值没有改变 var newstr=stringObj.replace("终古","中国"); //中国人民共和国,终古人民 alert(newstr);
例子二使用正则表达式,全部替换
var str="终古人民共和国,终古人民"; var newstr=str.replace(/(终古)/g,"中国"); //中国人民共和国,中国人民 alert(newstr);
等价于
var reg=new RegExp("终古","g"); //创建正则RegExp对象 var stringObj="终古人民共和国,终古人民"; var newstr=stringObj.replace(reg,"中国"); alert(newstr);
例子三正则表达式,变量匹配
var resource="终古"; var target="中国"; var reg=new RegExp(resource,"g"); //创建正则RegExp对象 var stringObj="终古人民共和国,终古人民"; var newstr=stringObj.replace(reg,target); alert(newstr);
例子四正则分组匹配
var strM = "javascript is a good script language"; //$1匹配的是javascript,$2匹配的是is //最终返回的值是"javascript is fun. it is" + strM //即javascript is 被替换为 javascript is fun. it is alert(strM.replace(/(javascript)\s(is)/g,"$1 $2 fun. it $2"));
例子五使用回调函数做详细处理
var name="aaa bbb c"; //name字符串去匹配/\b\w+\b/g表达式,结果有三个——aaa,bbb,c;每个结果执行function里面的方法 var uw = name.replace(/\b\w+\b/g,function(word){ //word是匹配的字符串 alert(word); return word.substring(0,1).toUpperCase()+word.substring(1); }); alert(uw);
例子六比较生僻的写法
var reg=new RegExp("(http://.qidian./BookReader/)(\\d+),(\\d+).aspx","gmi"); var url="http://.qidian./BookReader/1017141,20361055.aspx"; //方式一,最简单常用的方式 var rep=url.replace(reg,"$1ShowBook.aspx?bookId=$2&chapterId=$3"); alert(rep); //方式二 ,采用固定参数的回调函数 var rep2=url.replace(reg,function(m,p1,p2,p3){ return p1+"ShowBook.aspx?bookId="+p3+"&chapterId="+p3 }); alert(rep2); //方式三,采用非固定参数的回调函数 var rep3=url.replace(reg,function(){ var args=arguments; return args[1]+"ShowBook.aspx?bookId="+args[2]+"&chapterId="+args[3]; }); alert(rep3);
function ReplaceDemo(){ var r, re; // 声明变量。 var ss = "The rain in Spain falls mainly in the plain."; // \s表示的是空格,则\S表示的是非空格,/(\S+)(\s+)(\S+)/g匹配的是“非空格空格非空格”的结果 //匹配的结果有The rain、in Spain、falls mainly、in the //替换后的结果有rain The、Spain in、mainly falls、the in re = /(\S+)(\s+)(\S+)/g; // 创建正则表达式模式。 //更改匹配结果之间的顺序 r = ss.replace(re, "$3$2$1"); // 交换每一对单词。 return(r); // 返回结果字符串。 } alert(ReplaceDemo());
name = "Doe, John"; //更改两个单词之间的顺序 var temp = name.replace(/(\w+)\s, \s(\w+)/, "$2 $1"); alert(temp);
function SDReplaceData(objStr) { return objStr.replace( /(\&|\')/g, function($0, $1) { return{ "&" : "&" , "'" : "'" }[$1]; } ); }
PS这里再为大家提供2款非常方便的正则表达式工具供大家参考使用
JavaScript正则表达式在线测试工具
正则表达式在线生成工具
更多关于JavaScript相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程