没有合适的资源?快使用搜索试试~ 我知道了~
replace方法是javascript涉及到正则表达式中较为复杂的一个方法,严格上说应该是string对象的方法。只不过牵扯到正则的时候比较多一些。需要我们灵活的使用。 语法: stringObj.replace(regexp/substr,replacement); 第一个参数:必需。字符串中要替换的子串或正则RexExp; 第二个参数:必需,一个字符串值,规定了替换文本或生成替换文本的函数。 返回值:注意它的返回值是一个新的字符串,并没有更改原有字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。 所以根据它的参数的不同分为很多种情况,
资源推荐
资源详情
资源评论
js中中string之正则表达式之正则表达式replace方法详解方法详解
replace方法是javascript涉及到正则表达式中较为复杂的一个方法,严格上说应该是string对象的方法。只不过牵扯到正则的时
候比较多一些。需要我们灵活的使用。
语法: stringObj.replace(regexp/substr,replacement);
第一个参数:必需。字符串中要替换的子串或正则RexExp;
第二个参数:必需,一个字符串值,规定了替换文本或生成替换文本的函数。
返回值:注意它的返回值是一个新的字符串,并没有更改原有字符串,是用 replacement 替换了 regexp 的第一次匹配或所有
匹配之后得到的。
所以根据它的参数的不同分为很多种情况,以下一一对各种情况加以分析:
NO.1 两个参数都是字符串两个参数都是字符串
var str1 = '这是一段原始文本,需要替换的内容"这要替换"!';
var newStr = str1.replace('这要替换','need replace');
console.log( newStr ); //输出: 这是一段原始文本,需要替换的内容"need replace"!
上面的例子中第二个参数字符串’need replace’,替换掉了第一个参数字符串’这要替换’。这是最简单的一种形式。
NO.2 第一个参数是正则,第二个参数是字符串第一个参数是正则,第二个参数是字符串
var str2 = '这是一段原始文本,需要替换的内容"ac这要替换bb"!';
var newStr = str2.replace( /([a-z])+/g,'qqq' );
console.log( newStr ); //输出: 这是一段原始文本,需要替换的内容"qqq这要替换qqq"!
上面的例子字符串’qqq’,替换了正则匹配的内容。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。
否则,它只替换第一个匹配子串。
NO.3 第一个参数是正则,第二个参数是带第一个参数是正则,第二个参数是带$符的字符串符的字符串
var str3 = '这是一段原始文本,"3c这要替换4d"!';
var newStr = str3.replace( /([0-9])([a-z])/g,"$1" );
console.log( newStr ); //输出: 这是一段原始文本,"3这要替换4"!';
上面的例子,$1表示regexp中的第一个子表示即([0-9])匹配单个数字,同理若是$2则表示第二个子表示即([a-z]);所
以,’3c’这个匹配到的整体被第一个子表示说表示的’3’替换,’4d’被第一个子表示匹配的数字’4’所替换。其他几个同理可得:
(/([0-9])([a-z])/g,”$2″)—>////输出: 这是一段原始文本,”c这要替换d”!’; (3c和4d被相应的第二个子表示匹配出来的c和d替换)
(/([0-9])([a-z])/g,”$’”)—>////输出: 这是一段原始文本,”这要替换d”!这要替换”!”!’; (3c被3c右侧文本替换,4d右侧是”!替换,
所以出现俩次)
NO.4 第一个参数是正则,第二个参数函数第一个参数是正则,第二个参数函数
var str4 = '这是一段原始文本,需要替换的内容"aa这要bbb替换ccccc"!';
var newStr = str4.replace( /[a-z]+/g,function ($0){
var str = '';
for (var i = 0; i < $0.length; i++) {
str += '*';
};
return str;
} );
console.log( newStr ); //这是一段原始文本,需要替换的内容"**这要***替换*****"!
上面的例子函数的第一个参数为匹配的regexp的整体,根据长度函数返回值为相应替换的文本;
资源评论
weixin_38732343
- 粉丝: 5
- 资源: 909
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 运用python生成的跳跃的爱心
- 基于 Java 实现的 Socket.IO 服务器 实时 Java 框架.zip
- 基于 Ant 的 Java 项目示例.zip
- 各种字符串相似度和距离算法的实现Levenshtein、Jaro-winkler、n-Gram、Q-Gram、Jaccard index、最长公共子序列编辑距离、余弦相似度…….zip
- 运用python生成的跳跃的爱心
- 包括用 Java 编写的程序 欢迎您在此做出贡献!.zip
- (源码)基于QT框架的学生管理系统.zip
- 功能齐全的 Java Socket.IO 客户端库,兼容 Socket.IO v1.0 及更高版本 .zip
- 功能性 javascript 研讨会 无需任何库(即无需下划线),只需 ES5 .zip
- 分享Java相关的东西 - Java安全漫谈笔记相关内容.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功