在 JavaScript 做搜尋並取代字串可以用 replace() 來做, 例如:
1 2 |
var string = "Hello Microsoft!"; var result = string.replace("Microsoft", "Linux"); |
上面的 string 變數是 “Hello Microsoft!”, 而變數 result 會變成 “Hello Linux!”
以上做法很簡單, 但最大的問題是, 只會取代第一個符合條件的字串, 例如:
1 2 |
var string = "Hello Microsoft! Hello Microsoft!"; var result = string.replace("Microsoft", "Linux"); |
上面只會將第一個 “Microsoft” 取代為 “Linux”, 第二個不會取代, 要將全部字串取代, 可以用 regular expression 做, 有以下兩種寫法可以用:
方法一:
1 2 |
var string = "Hello Microsoft! Hello Microsoft!"; var result = string.replace(/Microsoft/g, "Linux"); |
方法二:
1 2 |
var string = "Hello Microsoft! Hello Microsoft!"; var result = string.replace(new RegExp('Microsoft', 'g'), 'Linux'); |
以上兩種寫法都會將字串內所有 “Microsoft” 取代為 “Linux”.
那麼如果想忽略大小寫作搜尋, 可以在上面加上 “i” 參數, 例如:
方法一:
1 2 |
var string = "Hello Microsoft! Hello Microsoft!"; var result = string.replace(/microsoft/gi, "Linux"); |
方法二:
1 2 |
var string = "Hello Microsoft! Hello Microsoft!"; var result = string.replace(new RegExp('microsoft', 'gi'), 'Linux'); |