1. 程式人生 > >【JavaScrpit】字串和正則表示式的4個相關方法

【JavaScrpit】字串和正則表示式的4個相關方法

字串和正則表示式的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>