JavaScript 字符串高级替换
■知识点
replace()方法的第2个参数是一个函数,replace()方法会给它传递多个实参,这些实参都包含一定的意思,具体说明如下。
第1个参数表示匹配模式相匹配的文本,如示例中每次匹配的单词字符串。
其后的参数是匹配模式中子表达式相匹配的字符串,参数个数不限,根据子表达式数而定。
后面的参数是一个整数,表示匹配文本在字符串中的下标位置。
最后一个参数表示字符串自身。
■实例设计
【示例1】把18.1.6小节的示例5中替换文本函数改为如下形式:
var f = function(){
return arguments[1].toUpperCase()+arguments[2];
}
也就是说,如果不为函数传递形参,直接调用函数的arguments属性,同样能够读取到正则表达式中相关匹配文本的信息。
arguments[0]:表示每次匹配的文本,即单词。
arguments[l]:表示第1个子表达式匹配的文本,即单词的首个字母。
arguments[2]:表示第2个子表达式匹配的文本,即单词的余下字母。
arguments[3]:表示匹配文本的下标位置,如第一个匹配单词“javascript”的下标位置就是0,以此类推。
arguments[4]:表不要执行匹配的字符串,这里表不 “javascript is script, is not java. ”。
点击加载更多评论>>