問題:
當使用JavaScript 內建的Replace( )方法來取代子字串,只取代第一個出現的子字串,如以下範例所示:
<code class="javascript">var string = "Test abc test test abc test test test abc test test abc"; string = string.replace('abc', ''); // Only replaces the first 'abc' occurrence</code>
我們如何取代JavaScript 中所有出現的子字串?
解決方案:
現代瀏覽器:
現代瀏覽器:
<code class="javascript">string = string.replaceAll('abc', ''); // Replaces all 'abc' occurrences</code>
對於舊版/舊版瀏覽器
自訂函數:<code class="javascript">function replaceAll(str, find, replace) { return str.replace(new RegExp(escapeRegExp(find), 'g'), replace); } function escapeRegExp(str) { return str.replace(/[.*+?^${}()|[\]\]/g, '\$&'); }</code>
用法:
<code class="javascript">console.log(replaceAll(string, 'abc', '')); // Replaces all 'abc' occurrences</code>
注意:
以上是如何在 JavaScript 中替換特定字串的所有實例?的詳細內容。更多資訊請關注PHP中文網其他相關文章!