JS:正则表达式学习笔记(十) - 字符串对象方法

来源:互联网 发布:怎样开淘宝店 编辑:程序博客网 时间:2024/05/29 08:03

String.prototype.search(reg):

  • 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串
  • 返回第一个匹配结果的index,查不到则返回-1
  • 不执行全局匹配(g),总是从字符串开头进行搜索
var str = "a1b2c3d1";str.search("b");  //result: 2str.search("10");  //result: -1

String.prototype.match(reg):

  • 检索字符串,以找到一个或多个与reg匹配的文本
  • 是否全局匹配(g)对结果影响很大
var str = "a1b2c3d1";str.match(/1/);  //result: [ '1', index: 1, input: 'a1b2c3d1' ]str.match(/1/g);  //result: [ '1', '1' ]

String.prototype.split(reg):

  • 把字符串分割为数组,稍微复杂点的分割则可以使用正则表达式解决

'a1b2c3d1e'.split(/\d/g); //result: ['a','b','c','d','e']

String.prototype.replace(str/reg, str/function):

  • 替换字符串内容

'a1b1c1'.replace(/1/g, 2); //result: 'a2b2c2'

  • 使用callback函数替换
    var str = 'a1b2c3d4e5';var reg = /\d/g;str.replace(reg, function(match, index, origin){   return parseInt(match)+1;});//result: 'a2b3c4d5e6'

callback函数中参数的含义

  1. 匹配字符串
  2. 正则表达式分组内容,没有分组则没有该参数
  3. 匹配项在字符串中的index
  4. 原字符串
0 0
原创粉丝点击