JavaScript replace() 方法

來源:互聯網
上載者:User
文章目錄
  • 文法
  • 傳回值
  • 說明
  • 例子 1
  • 例子 2
  • 例子 3
  • 例子 4
  • 例子 5
  • 例子 6
From:w3School
JavaScript replace() 方法

返回 JavaScript String 對象參考手冊

定義和用法

replace() 方法用於在字串中用一些字元替換另一些字元,或替換一個與Regex匹配的子串。

文法
stringObject.replace(regexp,replacement)
參數 描述
regexp 必需。規定了要替換的模式的 RegExp 對象。請注意,如果該值是一個字串,則將它作為要檢索的直接量文字模式,而不是首先被轉換為 RegExp 對象。
replacement 必需。一個字串值。規定了替換文本或產生替換文本的函數。
傳回值

一個新的字串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之後得到的。

說明

字串 stringObject 的 replace() 方法執行的是尋找並替換的操作。它將在 stringObject 中尋找與 regexp 相匹配的子字串,然後用 replacement 來替換這些子串。如果 regexp 具有全域標誌 g,那麼 replace() 方法將替換所有匹配的子串。否則,它只替換第一個匹配子串。

replacement 可以是字串,也可以是函數。如果它是字串,那麼沒有匹配都將由字串替換。但是 replacement 中的 $ 字元具有特定的含義。如下表所示,它說明從模式比對得到的字串將用於替換。

字元 替換文本
$1、$2、...、$99 與 regexp 中的第 1 到第 99 個子運算式相匹配的文本。
$& 與 regexp 相匹配的子串。
$` 位於匹配子串左側的文本。
$' 位於匹配子串右側的文本。
$$ 直接量符號。

注意:ECMAScript v3 規定,replace() 方法的參數 replacement 可以是函數而不是字串。在這種情況下,每個匹配都調用該函數,它返回的字串將作為替換文本使用。該函數的第一個參數是匹配模式的字串。接下來的參數是與模式中的子運算式匹配的字串,可以有 0 個或多個這樣的參數。接下來的參數是一個整數,聲明了匹配在 stringObject 中出現的位置。最後一個參數是 stringObject 本身。

執行個體例子 1

在本例中,我們將使用 "W3School" 替換字串中的 "Microsoft":

<script type="text/javascript">var str="Visit Microsoft!"document.write(str.replace(/Microsoft/, "W3School"))</script>

輸出:

Visit W3School!
例子 2

在本例中,我們將執行一次全域替換,每當 "Microsoft" 被找到,它就被替換為 "W3School":

<script type="text/javascript">var str="Welcome to Microsoft! "str=str + "We are proud to announce that Microsoft has "str=str + "one of the largest Web Developers sites in the world."document.write(str.replace(/Microsoft/g, "W3School"))</script>

輸出:

Welcome to W3School! We are proud to announce that W3Schoolhas one of the largest Web Developers sites in the world.
例子 3

您可以使用本例提供的代碼來確保匹配字串大寫字元的正確:

text = "javascript Tutorial";text.replace(/javascript/i, "JavaScript");
例子 4

在本例中,我們將把 "Doe, John" 轉換為 "John Doe" 的形式:

name = "Doe, John";name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
例子 5

在本例中,我們將把所有的花引號替換為直引號:

name = '"a", "b"';name.replace(/"([^"]*)"/g, "'$1'");
例子 6

在本例中,我們將把字串中所有單詞的首字母都轉換為大寫:

name = 'aaa bbb ccc';uw=name.replace(/\b\w+\b/g, function(word){return word.substring(0,1).toUpperCase()+word.substring(1);});
TIY
match() 1
如何使用 replace() 來替換字串中的字元。
match() 2
如何使用 replace() 進行全域替換。
match() 3
如何使用 replace() 確保大寫字母的正確性。
match() 4
如何使用 replace() 來轉換姓名的格式。
match() 5
如何使用 replace() 來轉換引號。
match() 6
如何使用 replace() 把單詞的首字母轉換為大寫。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.