简体   繁体   English

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

[英]How to clean the characters in a string in the array?

This is the problem: I have an array with x element, each elements a has character , I need clean one to one for what each element, end without character. 这就是问题:我有一个带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"]

I would recommend using a RegExp object to do some replacing on the strings. 我建议使用RegExp对象来替换字符串。 It looks like you want only word characters (letters), correct? 看起来你只想要单词字符(字母),对吗? Maybe something like: 也许是这样的:

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

References: 参考文献:

http://www.w3schools.com/jsref/jsref_obj_regexp.asp (\\W is non-word character, g modifier is global) http://www.w3schools.com/jsref/jsref_obj_regexp.asp ( \\ W是非单词字符,g修饰符是全局的)

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

Why not something like this? 为什么不这样的?

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, ""));
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM