如何清理数组中字符串中的字符?

时间:2013-08-29 05:01:36

标签: javascript arrays

这就是问题:我有一个带x元素的数组,每个元素都有一个字符,我需要一对一清楚每个元素,没有字符结束。

var dale = [".algo,", 'otro;', "two:", ", perfecto", "nada,", "bueno ,", "hola .", ". kcoy;", ", koko:", "noc'", " 'nocto", "lolo...", "...lola", "(jose", "luis)", "maria]", "[uranga", "signo?", "¿preg", "oki!", "¡com"];

var patterns = [".", ",", ";", ":", "'", "...", "(", ")", "[", "]", "?", "¿", "!", "¡" ];

var newDale = [];
//SOLUTIONS WRONG:
for ( var i=0; i<dale.length;i++){
  for ( var x=0; x<patterns.length;x++){
    if (dale[i].search(patterns[i])){
      newDale.push(dale[i].replace(/patterns[i]/, ""));
    }
  }
}

console.log(newDale);

//OUTPUT CLEAN 

["algo", 'otro', "two", "perfecto", "nada", "bueno", "hola", "kcoy", "koko", "noc", " 'nocto", "lolo", "lola", "jose", "luis", "maria", "uranga", "signo", "preg", "oki", "com"]

2 个答案:

答案 0 :(得分:2)

我建议使用RegExp对象来替换字符串。看起来你只想要单词字符(字母),对吗?也许是这样的:

for (var i=0; i < dale.length; i++){
    newDale.push(dale[i].replace(/\W/g, ""));
}

参考文献:

http://www.w3schools.com/jsref/jsref_obj_regexp.asp(\ W是非单词字符,g修饰符是全局字符)

http://www.w3schools.com/jsref/jsref_replace.asp

答案 1 :(得分:0)

为什么不是这样的?

var dale = [".algo,", 'otro;', "two:", ", perfecto", "nada,", "bueno ,", "hola .", ". kcoy;", ", koko:", "noc'", " 'nocto", "lolo...", "...lola", "(jose", "luis)", "maria]", "[uranga", "signo?", "¿preg", "oki!", "¡com"];

for (var i = 0; i < dale.length; i++) {
    console.log(dale[i].replace(/[.,;:;()\[\]?¿!¡ ']/g, ""));
}