我需要你的帮助。
我下面的函数将包含多个匹配项,因此对于此示例,我已经大大缩短了它。我对这里的正则表达式人员的问题是,有没有办法使用某种特殊的正则表达式来缩短匹配列表?
以下是以下函数正在检查的一些匹配项:
BRIEFING NOTE TO BOSS1
BRIEFING NOTE TO BOSS2
BRIEFING NOTE TO BOSS3
KEY MESSAGES
MEDIA ADVISORY
MEDIA CALL
这是javascript:
function shorten_name(val)
if (val.match("BRIEFING")) { return "BN" }
else if (val.match("KEY MESSAGES")) { return "KM" }
else if (val.match("MEDIA ADVISORY")) { return "MA" }
else if (val.match("MEDIA CALL")) { return "MC" }
}
答案 0 :(得分:1)
function (str){
var map = {
"BRIEFING": "BN",
"KEY MESSAGES": "KM",
"MEDIA ADVISORY": "MA",
"MEDIA CALL": "MC"
};
for (key in map){
if (map.hasOwnProperty(key)){
str = str.replace(new RegExp(key, 'g'), map[key]);
}
}
return str;
}