replace() 方法用于在字符串中用一些字符替换另一些字符, 或替换一个与正则表达式匹配的子串。

语法:

stringObject.replace(regexp / substr, replacement);

参数: regexp / substr, 可以是RegExp对象, 也可以是一个字符串;

    replacement, 要替换的字符串;

这两个参数都是必填的;

说明: 符串 stringObject 的 replace() 方法执行的是查找并替换的操作。 它将在 stringObject 中查找与 regexp 相匹配的子字符串, 然后用 replacement 来替换这些子串。 如果 regexp 具有全局标志 g,

那么 replace() 方法将替换所有匹配的子串。 否则, 它只替换第一个匹配子串;

replacement 可以是字符串, 也可以是函数。 如果它是字符串, 那么每个匹配都将由字符串替换。 但是 replacement 中的 $ 字符具有特定的含义。 如下表所示, 它说明从模式匹配得到的字符串将用于替换

例1:var str = "hello Jhon!"

  

console.log(str.replace(/Jhon/, "LiLei"))

//hello LiLei!

例2: var str = "Excuse me!May I ask some questions!"

  
console.log(str.replace(/s/g, "x"))

//Excuxe me!May I axk xome quextionx! g是全局匹配符号,如果没有g,那么只会匹配第一个符合条件的字符串,Excuxe me!May I ask some questions!

例3: var str = '"a", "b"

str.replace(/"([^"]*)"/g, "'$1'");
// "'a', 'b'"

例4: var str = 'aaa bbb ccc';  
strs = str.replace(/\b\w+\b/g, function(word) {
return word.substring(0, 1).toUpperCase() + word.substring(1)
});

(说明:\ b 匹配一个单词边界, 也就是指单词和空格间的位置( 即正则表达式的“ 匹配” 有两种概念, 一种是匹配字符, 一种是匹配位置, 这里的\ b就是匹配位置的)。

例如,“ er\ b” 可以匹配“ never” 中的“ er”, 但不能匹配“ verb” 中的“ er”。 \ B 匹配非单词边界。“ er\ B” 能匹配“ verb” 中的“ er”, 但不能匹配“ never” 中的“ er”。

 \ w 匹配包括下划线的任何单词字符。 类似但不等价于“[A - Za - z0 - 9 _]”, 这里的 "单词"。字符使用Unicode字符集。+ 匹配1或多个正好在它之前的那个字符。)

// "Aaa Bbb Ccc"

replace的运用的更多相关文章

  1. <JavaScript语言精粹>--<读书笔记三>之replace()与正则

    今天有人问我repalce(),他那个题目很有意思.我也不会做,于是我就去查,结果发现就是最基础的知识的延伸. 所以啊最基础的知识才是很重要的,千万不能忽略,抓起JS就写代码完全不知到所以然,只知道写 ...

  2. StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing the strings?

    StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing t ...

  3. js的replace函数入参为function时的疑问

    近期在写js导出excel文件时运用到replace方法,此处详细的记录下它各个参数所代表的的意义. 定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式 ...

  4. ORACLE 利用 REPLACE函数替换字段字符串

    REPLACE(string,s1,s2) string 希望被替换的字符或变量 s1 被替换的字符串 s2 要替换的字符串 SQL> select replace(he love you,he ...

  5. js 页面刷新location.reload和location.replace的区别小结

    reload 方法,该方法强迫浏览器刷新当前页面. 语法: location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前 ...

  6. replace和translate的用法

    select replace ('111222333444','222','888') from dual;with tmp as(select 'aabb/123\:cde工人' s from du ...

  7. JavaScript replace() 方法

    参考:http://www.w3school.com.cn/jsref/jsref_replace.asp 需要有一点注意的是:可以是函数的形式做为返回值,如下: "test{0}" ...

  8. replace实现正则过滤替换非法字符

    html+js结构如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http: ...

  9. Replace 删除、替换函数精解示例

    '************************************************************************* '**模 块 名:Replace函数精解示例 '* ...

  10. angularjs 指令详解 - template, restrict, replace

    通过指令机制,angularjs 提供了一个强大的扩展系统,我们可以通过自定义指令来扩展自己的指令系统. 怎样定义自己的指令呢? 我们通过 Bootstrap UI来学习吧.这个项目使用 angula ...

随机推荐

  1. 【learning】vim爆改记 (如何让vim用起来像devc++)

    由于本蒟蒻NOIP人品大爆发,能去冬令营,故准备开始练习使用linux下的IDE:vim 在dalao DTZ的帮助下,我装好了vim,并做了最初的配置. 然而........好难用啊,怎么和devc ...

  2. OS之内存管理 ---基本的内存管理策略(一)

    基本概念 基本硬件 CPU可以直接访问的通用存储只有内存和处理器的内置的寄存器.机器指令可以用内存地址作为参数,而不能用磁盘地址作为参数.所以执行指令以及指令使用的数据,应在这些可执行访问的存储设备上 ...

  3. POJ 1018

    #include<iostream> #define MAXN 105 #define inf 10000000 #include<vector> #include<io ...

  4. databinding在android studio2.3版本后不再默认支持使用

    databinding在android studio2.3版本后不再默认支持使用,需要在项目的app-build-gradle的 dependencies 里面添加 apt 'com.android. ...

  5. Hibernate 抛出的 Could not execute JDBC batch update

    异常堆栈 org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update at or ...

  6. js验证整数,浮点数

    //验证数字(整数.浮点数都可以通过) function isfloat(oNum){ if(!oNum) return false; var strP=/^\d+(\.\d+)?$/; if(!st ...

  7. 03-python的新式类和经典类区别

    新式类就是  class person(object): 这种形式的, 从py2.2 开始出现的 新式类添加了: __name__ is the attribute's name. __doc__ i ...

  8. Druid连接池(四)

    十七.Druid加密 运维和DBA都不希望把密码明文直接写在配置文件中,Druid提供了数据库密码加密的功能. ConfigFilter的作用包括: 从配置文件中读取配置 从远程http文件中读取配置 ...

  9. 封装RabbitMQ.NET Library 的一点经验总结 转载

    这篇文章内容会很短,主要是想给大家分享下我最近在做一个简单的rabbitmq客户端类库的封装的经验总结,说是简单其实一点都不简单.为了节省时间我主要按照Library的执行顺序来介绍,在你看来这里仅仅 ...

  10. DEV控件ASPxTextBox设置ClientEnabled="false"之后出现的问题

    DEV控件ASPxTextBox设置ClientEnabled="false"之后,js中设置文本框的值后,按钮后台点击事件中获取文本框的值为空.