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

问题描述 投票:2回答:1

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

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

谢谢。

javascript regex substring
1个回答
3
投票

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

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

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

console.log(notes.map(getNote));
© www.soinside.com 2019 - 2024. All rights reserved.