【JavaScrpit】字串和正則表示式的4個相關方法
阿新 • • 發佈:2018-12-23
字串和正則表示式的4個方法:split( ); search( ); match( ); replace( );
下面介紹4個方法的各自作用:
split( ); : 可以將一個字串拆分為一個數組。
search( ); : 可以搜尋字串中是否含有指定內容
如果搜尋到指定內容,則會返回第一次出現的索引,如果沒有搜尋到返回-1。
match( ); : 可以根據正則表示式,從一個字串中將符合條件的內容提取出來。
replace( ); : 可以將字串中指定內容替換為新的內容。
/ 省略/ g :這個g在正則中表示全域性模式(global)。
/ 省略/ i :這個i在正則中表示忽略大小寫(ignore)。
下面是程式碼(註釋裡面對這些方法的描述和作用已經很詳細):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var str = "1a2b3c4d5e6f7";
/*
* split(): 可以將一個字串拆分為一個數組
* - 方法中可以傳遞一個正則表示式作為引數,這樣方法將會根據正則表示式去拆分字串
* - 這個方法即使不指定全域性匹配,也會全都插分
*/
/*
* 根據任意字母來將字串拆分
*/
var result = str.split(/[A-z]/);
//console.log(result);
/*
* search(): 可以搜尋字串中是否含有指定內容
* - 如果搜尋到指定內容,則會返回第一次出現的索引,如果沒有搜尋到返回-1
* - 它可以接受一個正則表示式作為引數,然後會根據正則表示式去檢索字串
* - serach()只會查詢第一個,即使設定全域性匹配也沒用
*/
str = "hello abc hello aec afc";
/*
* 搜尋字串中是否含有abc 或 aec 或 afc
*/
result = str.search(/a[bef]c/);
//console.log(result);
/*
* match():可以根據正則表示式,從一個字串中將符合條件的內容提取出來
* - 預設情況下我們的match只會找到第一個符合要求的內容,找到以後就停止檢索
* 但我們可以設定正則表示式為全域性匹配模式,這樣就會匹配到所有的內容
* 可以為一個正則表示式設定多個匹配模式,且順序無所謂
* - match()會將匹配到的內容封裝到一個數組中返回,即使只查詢到一個結果
*
*
*/
str = "1a2a3a4a5e6f7A8B9C";
result = str.match(/[a-z]/ig);
//console.log(result[2]);
/*
* replace(): 可以將字串中指定內容替換為新的內容
* - 引數:
* 1.被替換的內容,可以接受一個正則表示式作為引數
* 2.新的內容
* - 預設只會替換第一個
*/
//result = str.replace(/[a-z]/gi , "@ [email protected]");
result = str.replace(/[a-z]/gi , "");
//console.log(result);
</script>
</head>
<body>
</body>
</html>