JavaScript-replace
来源:互联网 发布:淘宝天刀代购流程 编辑:程序博客网 时间:2024/06/06 20:38
String.replace(searchValue,replaceValue)
1. String:字符串
2. searchValue:字符串或正则表达式
3. replaceValue:字符串或者函数
字符串替换字符串
'I am loser!'.replace('loser','hero')//I am hero!
直接使用字符串能让自己从loser变成hero,但是如果有2个loser就不能一起变成hero了.
'I am loser,You are loser'.replace('loser','hero');//I am hero,You are loser
正则表达式替换为字符串
'I am loser,You are loser'.replace(/loser/g,'hero')//I am hero,You are hero
使用正则表达式,并将正则的global属性改为true则可以让所有loser都变为hero
有趣的替换字符
replaceValue
可以是字符串.如果字符串中有几个特定字符的话,会被转换为特定字符串.
使用$&字符给匹配字符加大括号
var sStr='讨论一下正则表达式中的replace的用法';sStr.replace(/正则表达式/,'{$&}');//讨论一下{正则表达式}中的replace的用法
使用‘和 ’字符替换内容
'abc'.replace(/b/,"$`");//aac'abc'.replace(/b/,"$'");//acc
使用分组匹配组合新的字符串
'nimojs@126.com'.replace(/(.+)(@)(.*)/,"$2$1")//@nimojs
replaceValue参数可以是一个函数
String.replace(searchValue,replaceValue)
中的replaceValue可以是一个函数.
如果指定一个函数作为第二个参数. 当匹配执行后,该函数就会执行. 函数的返回值作为替换字符串被使用. (注意: 上面提到的特殊替换参数在这里不能被使用.) 另外要注意的是, 如果第一个参数是正则表达式, 并且其为全局匹配模式, 那么这个方法将被多次调用, 每次匹配都会被调用.
$&
) p1, p2, … 第n个括号中匹配的子字符串 offset 该字符串匹配的偏移量 s 整个字符串我的理解:
函数的参数 和str.match(reg) 得到的内容一样
例子更清晰~~
console.log('my love hebe'.match(/(\w+)\s\w+\s(\w+)/ ));// [ 'my love hebe', // 'my', // 'hebe', // index: 0, // input: 'my love hebe' ]function logArguments() { console.log(arguments);// { '0': 'my love hebe',// '1': 'my',// '2': 'hebe',// '3': 0,// '4': 'my love hebe' }//}console.log( 'my love hebe'.replace(/(\w+)\s\w+\s(\w+)/, logArguments));console.log('my love hebe'.match(/(\w+)\s\w+\s(\w+)/ ));
修改参考了:
- 深入理解JavaScript-replace
文章若有纰漏请大家补充指正,谢谢~~
http://blog.xinshangshangxin.com SHANG殇
0 0
- JavaScript replace()
- JavaScript-replace
- JavaScript replace()
- javascript-replace
- javascript 中的replace方法
- JavaScript 中的replace方法
- javascript 中的replace方法
- javascript中的replace方法
- javascript replace 替换空格
- javascript中replace()方法
- javascript中replace()
- javascript replace的使用
- javascript replace方法
- JavaScript replace new RegExp
- javascript中replace()
- javascript中的replace()函数
- javascript中replace()
- JavaScript replace() 方法
- linux平台学x86汇编(八):条件跳转
- BZOJ 1006: [HNOI2008]神奇的国度 弦图的最小染色问题
- cocos2dx的内存管理机制
- 吴超-----mapreduce的二次排序【在key排序的基础上,对value也进行排序】RawComparator
- Java对象克隆方法(浅克隆、深克隆)
- JavaScript-replace
- 黑马程序员-------JAVA基础--面向对象
- vagrant+VirtualBox配置linux环境
- C#中的各种泛型
- eclipse内容辅助显示超长无用信息(JavaElementLabels……)问题的解决方案
- linux的一个小命令
- 黑马程序员--------------IO流
- Android自定义动画类——实现3D旋转动画
- 软件工程—产品质量