成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JavaScript中replace方法深入理解

開發 前端
replace方法是屬于String對象的,可用于替換字符串。

replace方法是屬于String對象的,可用于替換字符串。

簡單介紹:

StringObject.replace(searchValue,replaceValue)

  1. StringObject:字符串
  2. searchValue:字符串或正則表達式
  3. replaceValue:字符串或者函數

字符串替換字符串

  1. 'I am loser!'.replace('loser','hero')//I am hero! 

直接使用字符串能讓自己從loser變成hero,但是如果有2個loser就不能一起變成hero了。

  1. 'I am loser,You are loser'.replace('loser','hero');//I am hero,You are loser 

正則表達式替換為字符串

  1. 'I am loser,You are loser'.replace(/loser/g,'hero')//I am hero,You are hero 

使用正則表達式,并將正則的global屬性改為true則可以讓所有loser都變為hero

有趣的替換字符

replaceValue可以是字符串。如果字符串中有幾個特定字符的話,會被轉換為特定字符串。

字符 替換文本
$& 與正則相匹配的字符串
$` 匹配字符串左邊的字符
$’ 匹配字符串右邊的字符
$1,$2,$,3,…,$n 匹配結果中對應的分組匹配結果

使用$&字符給匹配字符加大括號

  1. var sStr='討論一下正則表達式中的replace的用法'
  2. sStr.replace(/正則表達式/,'{$&}');//討論一下{正則表達式}中的replace的用法 

使用$`和$’字符替換內容

  1. 'abc'.replace(/b/,"$`");//aac 
  2. 'abc'.replace(/b/,"$'");//acc 

使用分組匹配組合新的字符串

  1. 'nimojs@126.com'.replace(/(.+)(@)(.*)/,"$2$1")//@nimojs 

replaceValue參數可以是一個函數

StringObject.replace(searchValue,replaceValue)中的replaceValue可以是一個函數.

如果replaceValue是一個函數的話那么,這個函數的arguments會有n+3個參數(n為正則匹配到的次數)

先看例子幫助理解:

  1. function logArguments(){    
  2.     console.log(arguments);//["nimojs@126.com", "nimojs", "@", "126.com", 0, "nimojs@126.com"] 
  3.     return '返回值會替換掉匹配到的目標' 
  4. console.log( 
  5.     'nimojs@126.com'.replace(/(.+)(@)(.*)/,logArguments) 

參數分別為

  1. 匹配到的字符串(此例為nimojs@126.com,推薦修改上面代碼的正則來查看匹配到的字符幫助理解)
  2. 如果正則使用了分組匹配就為多個否則無此參數。(此例的參數就分別為”nimojs”, “@”, “126.com”。推薦修改正則為/nimo/查看控制臺中返回的arguments值)
  3. 匹配字符串的對應索引位置(此例為0)
  4. 原始字符串(此例為nimojs@126.com)

使用自定義函數將A-G字符串改為小寫

  1. 'JAVASCRIPT'.replace(/[A-G]/g,function(){ 
  2.     return arguments[0].toLowerCase(); 
  3. })//JaVaScRIPT 

使用自定義函數做回調式替換將行內樣式中的單引號刪除

  1. '<span style="font-family:\'微軟雅黑\';">demo</span>'.replace(/\'[^']+\'/g,function(){      
  2.     var sResult=arguments[0]; 
  3.     console.log(sResult);//'微軟雅黑' 
  4.     sResultsResult=sResult.replace(/\'/g,''); 
  5.     console.log(sResult);//微軟雅黑 
  6.     return sResult; 
  7. })//<span style="font-family:微軟雅黑;">demo</span> 

最后的小試牛刀

這一節是交給閱讀者發揮的內容:

1.使用函數自主實現替換字符

字符 替換文本
$& 與正則相匹配的字符串
$` 匹配字符串左邊的字符
$’ 匹配字符串右邊的字符

使用正則但不使用以上替換字符方法來實現有趣的替換字符中的三個實例。

2.洗撲克

需要將ThisNimojs-JavaScript使用正則替換成TJhaivsaNSicmroijpst

原文鏈接:http://www.nimojs.com/blog/javascript-replace/

責任編輯:陳四芳 來源: nimojs.com
相關推薦

2024-07-18 10:12:04

2021-02-17 11:25:33

前端JavaScriptthis

2020-12-16 09:47:01

JavaScript箭頭函數開發

2015-11-04 09:57:18

JavaScript原型

2019-11-05 10:03:08

callback回調函數javascript

2017-03-28 21:39:41

ErrorsStack trace代碼

2011-03-02 12:33:00

JavaScript

2020-07-24 10:00:00

JavaScript執行上下文前端

2017-04-25 15:30:23

堆棧函數JavaScript

2016-12-08 15:36:59

HashMap數據結構hash函數

2010-06-01 15:25:27

JavaCLASSPATH

2020-07-21 08:26:08

SpringSecurity過濾器

2013-06-20 10:25:56

2024-09-02 14:12:56

2012-04-12 09:38:21

JavaScript

2023-10-19 11:12:15

Netty代碼

2009-09-25 09:14:35

Hibernate日志

2013-09-22 14:57:19

AtWood

2020-09-23 10:00:26

Redis數據庫命令

2019-06-25 10:32:19

UDP編程通信
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美中文日韩在线v日本 | 亚洲一二视频 | v片网站 | 亚洲综合区| 久久人爽 | 久久久一区二区三区 | 农村黄性色生活片 | 涩涩视频在线观看 | 在线中文字幕亚洲 | 久久国产亚洲 | 久久av网| 国产精品毛片 | 亚洲 欧美 激情 另类 校园 | 免费看国产一级特黄aaaa大片 | 国产成人小视频 | 国产精品成人一区二区三区 | 老妇激情毛片免费 | 久久久www成人免费精品 | 老司机精品福利视频 | 亚洲精品在线91 | 午夜精品网站 | 久久蜜桃精品 | 亚洲一区在线日韩在线深爱 | 人干人人 | 69堂永久69tangcom | 欧美v免费 | 国产激情视频在线观看 | 精品一区二区三区在线播放 | 欧美在线视频一区二区 | 欧美精品一区二区三区四区 在线 | 亚洲91视频 | 天天综合网7799精品 | 中文字幕第十五页 | 国产成人精品免高潮在线观看 | 一级毛片播放 | 国产成人精品999在线观看 | 亚洲精品视频免费观看 | 欧美lesbianxxxxhd视频社区 | 精品国产一区二区三区观看不卡 | 久久久国产精品 | 久久1区|