当然。我会使用正则表达式来消化。
var stringToParse = 'C_3456_7890';
var returnArray = stringToParse .match(/^([A-Z])_([0-9_]*)$/);
这将在数组的索引1的类别信,并在索引2的数据应该只要类别总是一个大写字母和指数只有数字和下划线的工作。如果你让我知道更多有关可能的选项,我可以更新我的回应
编辑
,以帮助一个以上的项目列表中,你应该把它拆分的逗号第一
var stringToTest = "A_1234_5678, B_2345_678, C_3456_78"
var arrayOfStrings = stringToTest.split(',')
for (var i = 0; i<arrayOfStrings.length; i++){
var returnArray = arrayOfStrings[i].match(/^\s*([A-Z])_([0-9_]*)\s*$/);
console.log(returnArray);
}
用您需要用来处理数据和类别的任何代码替换控制台日志,您将会很好。
第二编辑
代码的建议,在循环使用:
if (returnArray[1] == 'C'){
var foundData = returnArray[2];
break;
}
所以完整的代码会看起来像
var stringToTest = "A_1234_5678, B_2345_678, C_3456_78"
var arrayOfStrings = stringToTest.split(',')
var foundData = false;
for (var i = 0; i<arrayOfStrings.length; i++){
var returnArray = arrayOfStrings[i].match(/^\s*([A-Z])_([0-9_]*)\s*$/);
if (returnArray[1] == 'C'){
foundData = returnArray[2];
break;
}
}
console.log(foundData !== false ? foundData : 'Sorry, no matching index found!')
然后你可以把这个成函数并将所需的类别作为参数。延伸的功能