字符串中的数字和字母分隔
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(""))
不过最好还是使用正则表达式。
我在 Javascript 中有字符串变量,例如:
var houseNo = "62A";
var cabinNo = "5BC";
我需要从字符串中取出整数和字母分开,其中每个出现的次数可以是任意数量次。
需要帮助以最好的方式做到这一点,无论是通过 lodash 还是任何其他原型方法。
参考了
试试这个:
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(""))
不过最好还是使用正则表达式。