使用JavaScript从字符串中删除某些字符
我用JavaScript编写了一个函数,将字符串中的重音替换为某些字符使用JavaScript从字符串中删除某些字符,javascript,regex,str-replace,diacritics,Javascript,Regex,Str Replace,Diacritics,我用JavaScript编写了一个函数,将字符串中的重音替换为某些字符 function textToURL(str) { str = str.replace(/á/gi,'a'); str = str.replace(/é/gi,'e'); str = str.replace(/í/gi,'i'); str = str.replace(/ó/gi,'o'); str = str.replace(/ö/gi,'o');
function textToURL(str) {
str = str.replace(/á/gi,'a');
str = str.replace(/é/gi,'e');
str = str.replace(/í/gi,'i');
str = str.replace(/ó/gi,'o');
str = str.replace(/ö/gi,'o');
str = str.replace(/ő/gi,'o');
str = str.replace(/ú/gi,'u');
str = str.replace(/ü/gi,'u');
str = str.replace(/ű/gi,'u');
str = str.replace(/ /gi,'-');
return str;
}
我相信有一种更干净、更简单的方法可以用数组或正则表达式编写代码,但是如何编写呢
提前感谢。类似的内容可能适合您:
// define a translator map
var dict = {"á": "a", "é": "e", "í": "i", "ó": "o", "ú": "u", " ": "-"}
var str = "ápplé órángé"
var repl = str.replace(/[áéíóú ]/g, function($0) { return dict[$0]; });
//=> apple-orange
可以使用关联数组,然后用其值替换键
str = "áéíóöőúüű "
var myArray = {á:"a", é:"e", í:"i",ó:"o", ö:"o", ő:"o",ú:"u", ü:"u", ű:"u", " ":"-"}
var index;
for(var key in myArray){
str = str.replace(key, myArray[key])
}
下面是您自己尝试的JSFIDLE链接: