JS中的replace方法可以替換一個字符串中的單詞。
語句的格式是: 需要改的字符串.replace(字符串或正則表達式,替換成的字符串)
如果第一個參數用字符串,默認是找到該字符串中的第一個匹配的字符串進行替換,剩下的不會替換。
如果是只想替換第一個匹配的內容,可以用字符串或者正則表達式都可以,效果一樣,正則表達式的寫法是,用斜杠包裹需要替換的內容。
如果想要替換整個字符串中所有的地方,正則表達式加g,g代表全局,所有的地方都會替換。
如果想要替換整個字符串中所有地方,且不區分大小寫,加ig,i代表不區分大小寫,g是全局。
由於英文是字母組成的,有的字母很長,里面包含需要替換的字母組合,就會造成錯誤替換,如下面例子的he,但是the,them等單詞里 都包含he這兩個字母組合,就會造成錯誤替換,正則表達式里加一對反斜杠b包裹需要的字母組合,就會忽略前后有字母的其他單詞,英文中單個單詞前后一般是空格或標點符號,用這個可以找單詞。
正則表達式:用斜杠包裹所需要的內容和一些規則。
加g:全局,替換所有匹配的內容
加i:忽略大小寫,替換所有忽略大小寫后的匹配的內容
加ig:忽略大小寫,且全局,替換所有匹配的內容
用/b內容/b,用反斜杠b包裹:找單詞,去掉字母組合前后有其他單詞的內容。
測試代碼:結果在圖示里。
window.onload=function(){ var stoy1=" them HE he the he He"; //兩邊有字母也算 //只替換第一個he stoyRe1=stoy1.replace("he","she");//(字符串) stoyRe2=stoy1.replace(/he/,"she");//(正則表達式) //替換全部的he stoyRe4=stoy1.replace(/he/g,"she");//替換字符串全部的he stoyRe6=stoy1.replace(/he/ig,"she");//忽略大小寫的,替換全部的he //兩邊有字母不算,找到單詞 stoyRe3=stoy1.replace(/\bhe\b/,"she");//替換找到的第一個he,找單詞 stoyRe5=stoy1.replace(/\bhe\b/g,"she");//替換全部的he,找單詞 stoyRe7=stoy1.replace(/\bhe\b/ig,"she");//i忽略大小寫,全局,找單詞 document.write("原字符串:"+stoy1+ "<br>\"he\"結果:"+stoyRe1+ //----"he" "<br>/he/結果:"+stoyRe2+ //----/he/ "<br>/he/g結果:"+stoyRe4+ //----/he/g "<br>/he/ig結果:"+stoyRe6+ //---/he/ig "<br>/\\bhe\\b/結果:"+stoyRe3+ //-----/\bhe\b/ "<br>/\\bhe\\b/g結果:"+stoyRe5+ //-----/\bhe\b/g "<br>/\\bhe\\b/ig結果:"+stoyRe7); //-----/\bhe\b/ig }
圖示:
如下,做了個測試例子,是在文本框中輸入一段內容,然后替換里面的部分單詞,再重新賦值給文本框。
在百度上搜了一篇小英文故事,是男第三人稱描述的,用替換內容的方法,替換成了女第三人稱,可以點擊鏈接一鍵轉換,比人工查找替換要快捷。
測試用的小故事放到JS的注釋里了,復制到文本框里,點擊鏈接可轉換。
前面的測試后面的變量沒有加var,這里是直接對一個字符串進行多次替換,然后再把變量賦值給原來的文本框。
這里面有點小問題,故事里第三人稱的不只是猴子,還有大象,大象也用第三人稱描述,所以也被替換成了女的第三人稱,這個是無法區分的,具體he指代的是猴子還是大象,程序無法區分,只是把所有的he給替換掉了。
測試代碼:
圖示:
替換:
he----she
He----He
his---her
him---her
測試代碼:
<body> 輸入男第三人稱的故事:<br> <textarea id="t2" cols=100 rows=10></textarea> <br> <a href="javascript:Re()">點擊轉成女第三人稱</a> <script> function Re(){ var stoy1=document.getElementById("t2").value; stoy1=stoy1.replace(/\bhe\b/g,"she"); stoy1=stoy1.replace(/\bHe\b/g,"She"); stoy1=stoy1.replace(/\bhis\b/g,"her"); stoy1=stoy1.replace(/\bhim\b/g,"her"); document.getElementById("t2").value=stoy1; } //"One day, a monkey rides his bike near the river. This time he sees a lion under a tree. The lion runs at him. He is afraid and falls into the river. He can’t swim. He shouts. The rabbit hears him. He jumps into the river. The rabbit swims to the monkey, but he can’t help him. Luckily, an elephant comes along. He is very strong. He helps the rabbit and monkey. Three friends are very happy. They go to the elephant’s home. Then, three of them become good friends." </script> </body>
圖示:這個程序替換,無法詳細區分單詞代指的是哪個動物,只是把所有單詞替換了。只是做了個例子。