var str = "pig cat fish、dog horse monkey bear、lion、fox";
筆者在這里定義了一個字符串
如果使用for循環遍歷字符串,內部使用replace函數的話
for (j = 0; j <= str.length; j++) { if (str.charAt(j) == "o") { str.replace("o", "*"); } }
像上面這樣 因為replace是有返回值的 並且只會替換第一個字符 因此后面的"o"都是沒有改變的
存進數組也一樣
// 3、把字符串中所有的字符o提換成字符* var b = []; for (j = 0; j <= str.length; j++) { if (str.charAt(j) == "o") { b[j] = str.replace("o", "*"); } } alert(b[b.length - 1]);
由圖可以顯示出 返回的值依舊是只是第一個改變了 如果想要全部改變 就需要用到正則表達式里面的全局變量了
這是我以前做的筆記 可以看出 如果用 “/正則表達式/g” 這種方式就可以讓全部的"o"變為"*"
for (j = 0; j <= str.length; j++) { if (str.charAt(j) == "o") { var str1 = str.replace(/o/g, "*"); } } alert(str1);
前后兩個“/ 表示是正則表達式
/o/g 則表示 所有的o 從而可以利用replace+正則表達式來改變某個特定字符的全部個體
結果如圖所示
看到這里 如果對你有幫助的話 請點一個贊 這是對我最大的鼓勵(筆芯)