[教學]Javascript中要如何取代字串中的所有指定字串?

打習慣C#,在Javascript中想要取代字串中的指定pattern,下意識地就會打 str.replace(“pattern", “string to find"),但是瀏覽器的replace其實是半殘的,它只會取代找到的第一個pattern,例如:

"Dog is cute. Dog is happy.".replace("Dog", "Cat");

,會得到"Cat is cute. Dog is happy."。

上網找了一下文件,發現要取代所有pattern,就只能使用Regular Expression(用/來開頭及結尾),再加上全域表示符g。像上例就必須改成:

"Dog is cute. Dog is happy.".replace(/Dog/g, "Cat");

,才會是想要的結果。

結果為了這個語言上的差異,浪費了一個小時debug。 Orz

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

w

連結到 %s