JS replace()方法替换变量(可以对变量进行全文替换)
2018-02-12 16:41
309 查看
事情是这样的:本文出处http://blog.sina.com.cn/s/blog_6552200b0102ve60.html
我要用 JS 替换一个多行文本的关键字正常,没有变量的时候应该是这样:把 a 替换成 b:string.replace("a","b");以上只能替换第一个匹配的,要全文匹配应该用正则表达式:string.replace(/a/g,"b");正则加个参数 g ,表示全文匹配。
但现在,我要替换的不是 a 这个字符了,而是从外面传进来的一个变量:var key;我可以这么写:string.replace(key,"b");这只能替换第一个匹配的,要全文匹配就遇到难题了:string.replace(/key/g,"b");这样写是不行的,变量 key 传不到正则里面去。。。头疼啊
于是我在网上找啊找。我先找 replace 替换变量,有说用加号拼接正则的,好像也失败了。。。看得我晕晕乎乎的。我无意中发现 java 有个 replaceAll() 方法,我想如果可以这样不就好了吗:string.replaceAll(key,"b");这样就不用正则了,变量就能进去了。然后发现 JS 里没有 replaceAll() 这个方法。。我靠,,然后我又查 JS 怎么能够实现 replaceAll 这个方法,网上各种自己写函数啊,,看得我也晕晕乎乎的。
后来我的思路又回到了怎样把变量传到 replace() 方法里面去。哎~功夫不负有心人,看到一篇文章:http://www.jb51.net/article/40269.htm文章的最后,给出了 JS 里面正则表达式的另一个使用方法,那就是:string.replace(new RegExp(key,'g'),"b");这里,利用 JS 的 RegExp 对象,将 g 参数单拿了出来,同时,正则的内容可以用变量来代替了!!!!
干的漂亮!!!!又简单,又实用!
这里就完成了用 replace() 方法对变量进行全文替换。运气不错怎么样,是不是不用自己写 replaceAll() 了呢!哈哈
我要用 JS 替换一个多行文本的关键字正常,没有变量的时候应该是这样:把 a 替换成 b:string.replace("a","b");以上只能替换第一个匹配的,要全文匹配应该用正则表达式:string.replace(/a/g,"b");正则加个参数 g ,表示全文匹配。
但现在,我要替换的不是 a 这个字符了,而是从外面传进来的一个变量:var key;我可以这么写:string.replace(key,"b");这只能替换第一个匹配的,要全文匹配就遇到难题了:string.replace(/key/g,"b");这样写是不行的,变量 key 传不到正则里面去。。。头疼啊
于是我在网上找啊找。我先找 replace 替换变量,有说用加号拼接正则的,好像也失败了。。。看得我晕晕乎乎的。我无意中发现 java 有个 replaceAll() 方法,我想如果可以这样不就好了吗:string.replaceAll(key,"b");这样就不用正则了,变量就能进去了。然后发现 JS 里没有 replaceAll() 这个方法。。我靠,,然后我又查 JS 怎么能够实现 replaceAll 这个方法,网上各种自己写函数啊,,看得我也晕晕乎乎的。
后来我的思路又回到了怎样把变量传到 replace() 方法里面去。哎~功夫不负有心人,看到一篇文章:http://www.jb51.net/article/40269.htm文章的最后,给出了 JS 里面正则表达式的另一个使用方法,那就是:string.replace(new RegExp(key,'g'),"b");这里,利用 JS 的 RegExp 对象,将 g 参数单拿了出来,同时,正则的内容可以用变量来代替了!!!!
干的漂亮!!!!又简单,又实用!
这里就完成了用 replace() 方法对变量进行全文替换。运气不错怎么样,是不是不用自己写 replaceAll() 了呢!哈哈
相关文章推荐
- JS replace()方法替换变量(可以对变量进行全文替换)
- JS replace()方法如何替换变量
- SpringMVC注解@Autowired和@Qualifier 自动注入[根据类型注入] @Autowired 可以对成员变量、方法以及构造函数进行注释, @Qualifier 的
- 在Spring中使用replaced-method来进行方法替换
- 使用SendMessage方法对窗体上的控件进行截图,该方法的思想就是把控件的句柄拿到,对控件发送WM_PAINT消息,并且把希望得到图形对象的句柄当作wParam参数传过去,这样就可以在图形对象得到想要得图形。
- 要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法(没有全部列
- C++中的初始化列表中可以对那些变量或对象进行初始化
- 可以进行自动补全的python的eclipse配置方法
- jQuery对指定元素中指定字符串进行替换的方法
- crontab中使用环境变量的方法(手动执行shell脚本可以,在定时任务中不行)
- js replace(a,b)之替换字符串中所有指定字符的方法
- 设计一个电视机类,成员变量包括电视机编号、生产厂家、品牌名称、大小、开关状态,并可以对其进行相应操作,如打开电视、提高/降低音量、更换频道等。
- js replace(a,b)之替换字符串中所有指定字符的方法
- [黑马程序员]对两个整数变量的值进行交换的方法总结
- java通过映射取得方法对一个类的变量进行赋值
- js正则表达式/replace替换变量方法
- 用C语言实现给定两个整形变量的值,将两个值的内容进行交换。(4种方法)
- ubuntu中可以设置环境变量的文件及设置方法
- 类的静态变量和 静态方法就可以直接用类名进行访问
- Vi/Vim查找替换使用方法(可以用来批量改txt的前缀)