js中使用replace()字符串替換


在js中,我們經常會需要將某些字符串替換成指定的字符串,這是可以使用replace()方法,它不僅支持使用字符串替換,還能用正則替換

1. 定義:

/**
 * @param regexp/substr 被替換的字符串或 RegExp 對象,如果該值是一個字符串,則將它作為要檢索的直接量文本模式,而不是首先被轉換為 RegExp 對象
 * @param replacement 替換文本或生成替換文本的函數
 * @return 一個新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之后得到的
 **/
stringObject.replace(regexp/substr,replacement)

如果第一個參數是一個正則,就會查找與 regexp 相匹配的子字符串,然后用 replacement 來替換這些子串。如果 regexp 具有全局標志 g,那么 replace() 方法將替換所有匹配的子串。否則,它只替換第一個匹配子串。如果replacement是一個函數,那么這個函數的返回值就會作為替換文本。如果replacement是一個字符串,那么字符串中的$字符是有特殊含義的

$1、$2、...、\(99 與 regexp 中的第 1 到第 99 個子表達式相匹配的文本 \)& 與 regexp 相匹配的子串
\(` 位於匹配子串左側的文本 \)' 位於匹配子串右側的文本

\[ 直接量符號 \]

2. 例子

  1. 把'Jack'替換成'World'
var str="Hello Jack!"
str.replace(/Jack/, "World")  // Hello World
  1. 使用正則全局替換,把所有的'COVID-19'替換成'XXX'
var str = "People with COVID-19 have had a wide range of symptoms reported – ranging from mild symptoms to severe illness. Symptoms may appear 2-14 days after exposure to the virus. People with these symptoms may have COVID-19:"
str.replace(/COVID\-19/g, "XXX")

// People with XXX have had a wide range of symptoms reported – ranging from mild symptoms to severe illness. Symptoms may appear 2-14 days after exposure to the virus. People with these symptoms may have XXX:
  1. 正則查找替換時忽略字母大小寫
var str = "javascript Tutorial";
str.replace(/javascript/i, "JavaScript");
  1. 把'Jack, hi'替換成‘Hi, Jack’
var str = "Jack, Hi";
str.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
  1. 把雙引號替換成單引號
var str = '"a", "b"';
str.replace(/"([^"]*)"/g, "'$1'");
  1. 把字符串中所有單詞的首字母都轉換為大寫
var str = 'aaa bbb ccc';
str.replace(/\b\w+\b/g, function(word){
  return word.substring(0,1).toUpperCase()+word.substring(1);}
  );


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM