JS中進(jìn)行字符串替換的方法
js中進(jìn)行字符串替換的方法
主要使用 str.replace() 方法:
1,str.replace(“需要替換的字符串”,“新字符串”), 這個(gè)只替換第一個(gè)查找到的字符
2,str.replace(/需要替換的字符串/g,“新字符串”) 這個(gè)全局替換查找到的字符
"yyyy-MM-dd-hh-mm-ss".replace("-","/") //結(jié)果"yyyy/MM-dd-hh-mm-ss" "yyyy-MM-dd-hh-mm-ss".replace(/-/g,"/") //結(jié)果"yyyy/MM/dd/hh/mm/ss"
有時(shí)候也是用在 api中替換中例如:
“https://xxx.con/{id}/aa?spm=1001&articleId=123”.replace(“{id}”,“1111111”)
js中字符串的替換
定義和用法
replace() 方法用于在字符串中用一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式匹配的子串。
語法
stringObject.replace(regexp/substr,replacement)參數(shù) 描述
regexp/substr 必需。規(guī)定子字符串或要替換的模式的 RegExp 對(duì)象。
請(qǐng)注意,如果該值是一個(gè)字符串,則將它作為要檢索的直接量文本模式,而不是首先被轉(zhuǎn)換為 RegExp 對(duì)象。
replacement 必需。一個(gè)字符串值。規(guī)定了替換文本或生成替換文本的函數(shù)。
返回值
一個(gè)新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之后得到的。
說明
字符串 stringObject 的 replace() 方法執(zhí)行的是查找并替換的操作。它將在 stringObject 中查找與 regexp 相匹配的子字符串,然后用 replacement 來替換這些子串。如果 regexp 具有全局標(biāo)志 g,那么 replace() 方法將替換所有匹配的子串。否則,它只替換第一個(gè)匹配子串。
replacement 可以是字符串,也可以是函數(shù)。如果它是字符串,那么每個(gè)匹配都將由字符串替換。但是 replacement 中的 $ 字符具有特定的含義。如下表所示,它說明從模式匹配得到的字符串將用于替換。
字符 替換文本
$1、$2、...、$99 與 regexp 中的第 1 到第 99 個(gè)子表達(dá)式相匹配的文本。
$& 與 regexp 相匹配的子串。
$` 位于匹配子串左側(cè)的文本。
$' 位于匹配子串右側(cè)的文本。
$$ 直接量符號(hào)。
注意:ECMAScript v3 規(guī)定,replace() 方法的參數(shù) replacement 可以是函數(shù)而不是字符串。在這種情況下,每個(gè)匹配都調(diào)用該函數(shù),它返回的字符串將作為替換文本使用。該函數(shù)的第一個(gè)參數(shù)是匹配模式的字符串。接下來的參數(shù)是與模式中的子表達(dá)式匹配的字符串,可以有 0 個(gè)或多個(gè)這樣的參數(shù)。接下來的參數(shù)是一個(gè)整數(shù),聲明了匹配在 stringObject 中出現(xiàn)的位置。最后一個(gè)參數(shù)是 stringObject 本身。
實(shí)例
i、replace方法
該方法的作用是替換字符串中所有指定的字符,然后生成一個(gè)新的字符串。經(jīng)過該方法調(diào)用以后,原來的字符串不發(fā)生改變。例如:
String s = “abcat”; String s1 = s.replace(‘a(chǎn)',‘1');
該代碼的作用是將字符串s中所有的字符a替換成字符1,生成的新字符串s1的值是“1bc1t”,而字符串s的內(nèi)容不發(fā)生改變。
如果需要將字符串中某個(gè)指定的字符串替換為其它字符串,則可以使用replaceAll方法,例如:
String s = “abatbac”; String s1 = s.replaceAll(“ba”,“12”);
該代碼的作用是將字符串s中所有的字符串“ab”替換為“12”,生成新的字符串“a12t12c”,而字符串s的內(nèi)容也不發(fā)生改變。
如果只需要替換第一個(gè)出現(xiàn)的指定字符串時(shí),可以使用replaceFirst方法,例如:
String s = “abatbac”; String s1 = s. replaceFirst (“ba”,“12”);
該代碼的作用是只將字符串s中全局出現(xiàn)的字符串“,”替換為字符串“/”。
var str = "Is,is,the,cost,of,of,gasoline,going,up,up"; document.write(str.replace(/\,/g,'/'));
運(yùn)用正則進(jìn)行全局匹配將全局的“,”替換為“/”。
例子 1
在本例中,我們將使用 "jb51.net" 替換字符串中的 "Microsoft":
<script type="text/javascript"> var str="Visit Microsoft!" document.write(str.replace(/Microsoft/, "jb51.net")) </script>
輸出:
Visit jb51.net!
例子 2
在本例中,我們將執(zhí)行一次全局替換,每當(dāng) "Microsoft" 被找到,它就被替換為 "jb51.net":
<script type="text/javascript"> var str="Welcome to Microsoft! " str=str + "We are proud to announce that Microsoft has " str=str + "one of the largest Web Developers sites in the world." document.write(str.replace(/Microsoft/g, "jb51.net")) </script>
輸出:
Welcome to jb51.net! We are proud to announce that jb51.net
has one of the largest Web Developers sites in the world.
例子 3
您可以使用本例提供的代碼來確保匹配字符串大寫字符的正確:
text = "javascript Tutorial"; text.replace(/javascript/i, "JavaScript");
例子 4
在本例中,我們將把 "Doe, John" 轉(zhuǎn)換為 "John Doe" 的形式:
name = "Doe, John"; name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
例子 5
在本例中,我們將把所有的花引號(hào)替換為直引號(hào):
name = '"a", "b"'; name.replace(/"([^"]*)"/g, "'$1'");
例子 6
在本例中,我們將把字符串中所有單詞的首字母都轉(zhuǎn)換為大寫:
name = 'aaa bbb ccc'; uw=name.replace(/\b\w+\b/g, function(word){ return word.substring(0,1).toUpperCase()+word.substring(1);} );
到此這篇關(guān)于js中進(jìn)行字符串替換的方法的文章就介紹到這了,更多相關(guān)js字符串替換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JS替換字符串中指定位置的字符(多種方法)
- js replace替換字符串同時(shí)替換多個(gè)方法
- JavaScript實(shí)現(xiàn)替換字符串中最后一個(gè)字符的方法
- JS基于正則截取替換特定字符之間字符串操作示例
- JavaScript正則表達(dá)式替換字符串中圖片地址(img src)的方法
- javascript將字符串中的多個(gè)空格替換為一個(gè)空格的正則實(shí)例
- JavaScript利用正則表達(dá)式替換字符串中的內(nèi)容
- js替換字符串中所有指定的字符(實(shí)現(xiàn)代碼)
- js replace(a,b)之替換字符串中所有指定字符的方法
相關(guān)文章
JS前端面試必備——基本排序算法原理與實(shí)現(xiàn)方法詳解【插入/選擇/歸并/冒泡/快速排序】
這篇文章主要介紹了JS前端面試基本排序算法原理與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了JS常見的基本排序算法相關(guān)原理、實(shí)現(xiàn)方法、時(shí)間復(fù)雜度及操作注意事項(xiàng),需要的朋友可以參考下2020-02-02利用javascript中的call實(shí)現(xiàn)繼承
利用javascript中的call實(shí)現(xiàn)繼承...2007-01-01純js實(shí)現(xiàn)頁面返回頂部的動(dòng)畫(超簡(jiǎn)單)
下面小編就為大家?guī)硪黄僯s實(shí)現(xiàn)頁面返回頂部的動(dòng)畫(超簡(jiǎn)單)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08BootStrap使用file-input插件上傳圖片的方法
這篇文章主要介紹了BootStrap使用file-input插件上傳圖片的方法,bootstrap的圖片上傳框架 file-input 插件非常不錯(cuò),下面小編通過本文介紹下這個(gè)插件的使用方法,感興趣的朋友一起看看吧2016-09-09Bootstrap進(jìn)度條與AJAX后端數(shù)據(jù)傳遞結(jié)合使用實(shí)例詳解
這篇文章主要介紹了Bootstrap進(jìn)度條與AJAX后端數(shù)據(jù)傳遞結(jié)合使用,需要的朋友可以參考下2017-04-04