在 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'); |