使用 JavaScript 从字符串中删除某些字符 [重复]
Posted
技术标签:
【中文标题】使用 JavaScript 从字符串中删除某些字符 [重复]【英文标题】:Remove certain characters from a string with JavaScript [duplicate] 【发布时间】:2016-03-05 05:41:39 【问题描述】:我用 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');
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;
我确信有一种更干净、更简单的方法可以用数组或正则表达式编写这段代码,但是如何呢?
提前致谢。
【问题讨论】:
【参考方案1】:你可以使用关联数组,然后用他的值替换键
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])
这是自己尝试的 jsfiddle 链接:http://jsfiddle.net/7sdoh65a/1/
【讨论】:
【参考方案2】:这样的事情可能对你有用:
// 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
【讨论】:
以上是关于使用 JavaScript 从字符串中删除某些字符 [重复]的主要内容,如果未能解决你的问题,请参考以下文章