1. 程式人生 > >正則表示式的一個應用(替換字串)

正則表示式的一個應用(替換字串)

原料:1 一個要替換的字串 2 正則表示式 3 json物件 包含將要被替換的字串以及替換字串

while(result=reg.exec(str)){}來判斷是否有匹配的字串 

var key = result[0] 要被替換的字串

var value = obj[key] 替換的字串

str = str.replace(key, value) 替換

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	
</body>
</html>
<script type="text/javascript">
	// 準備正則 匹配至少一個 字母
	var reg = /\w+/

	// 準備挖好坑的字串
	var str ='我是一個來自南方的name,我愛吃food,我的愛好是habbit,我的朋友是friend';
	// var str ='我是一個來自南方的,我愛吃我的愛好是';

	// 準備 用來填坑的 物件
	var obj = {
		name:'柯基',
		food:'狗糧',
		habbit:'汪汪汪',
		friend:'哈士奇'
	}


	// 對於一個 不知道 執行次數的 程式碼 可以怎麼優化呢?

	// 首先 使用正則物件 驗證一次 字串 while 會看 result 是否有值
	var result;
	while( result = reg.exec(str)){
		// 獲取 匹配的 key
		var key = result[0];

		// 通過key 獲取value
		var value = obj[key];

		// 替換 
		str = str.replace(key,value);
		console.log(str);
	}
</script>