尝试提取字符串的子字符串,直到字符串的第一个数字

时间:2019-11-09 21:39:35

标签: javascript regex substring

我正在尝试提取字符串的子字符串,直到该字符串的第一个数字。

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));

谢谢。

1 个答案:

答案 0 :(得分:3)

您可以得到没有编号的第一部分。

function getNote(string) {
    return string.match(/^\D+/)[0];
}

var notes = ["D4", "F#8", "Abb2"];

console.log(notes.map(getNote));