我正在尝试提取字符串的子字符串,直到该字符串的第一个数字。
var notes = ["D4", "F#8", "Abb2"];
note[0].substring(0,notes[0].indexOf(4);
//返回D,除掉1
但是,这仅在第一个数字为4时有效。我的notes数组中的其他项目具有不同的数字。
我试图修改我的代码,以使indexOf的参数是一个正则表达式,但是它不起作用:
var reg = /^\d+$/;
notes[0].substring(0,notes[0].indexOf(reg));
谢谢。
答案 0 :(得分:3)
您可以得到没有编号的第一部分。
function getNote(string) {
return string.match(/^\D+/)[0];
}
var notes = ["D4", "F#8", "Abb2"];
console.log(notes.map(getNote));