字符串中的数字和字母分隔

Number and Alphabet Separation in a String

我在 Javascript 中有字符串变量,例如:

var houseNo = "62A";
var cabinNo = "5BC";

我需要从字符串中取出整数和字母分开,其中每个出现的次数可以是任意数量次。

需要帮助以最好的方式做到这一点,无论是通过 lodash 还是任何其他原型方法。

参考了 但由于不希望通过 RegEx 保留而无用。

试试这个:

    var houseNo = "62A"; 
    foreach(char a in houseNo)
    {
        if(a > 48 && a < 57)
        {
         /*it's a number*/
        }
        else 
        {
            /*it's a letter*/
        }
    }

您可以将它应用于每个字符串,并确定要对每个数字或字母执行的操作。

类似于:

function decompose(string){ 
     for(var i=0;i<string.length;i++){
             if(parseInt(string[i])){ // if the char is a number?
                // do whatever you want
             }else{
                // it's a character
             }  
      }
}

parseInt()函数return给定字符的数量。如果不是数字,则 returns NaN(不是数字)。 if(parsInt(char)) return false 如果是字符,true 如果是数字

var test = "a3434dasds3432s2"
var myString = test.split("").filter(function(v) {return isNaN(v)}).join("")
var myNumber = parseInt(test.split("").filter(function(v) {return !isNaN(v)}).join(""))

不过最好还是使用正则表达式。