Попытка извлечь подстроку строки до первого числа строки - PullRequest
2 голосов
/ 10 ноября 2019

Я пытаюсь извлечь подстроку строки до первого числа строки.

var notes = ["D4", "F#8", "Abb2"];
note[0].substring(0,notes[0].indexOf(4);

// возвращает D, избавляется от 1

Однако это работает, только если первое число равно 4. Другие элементы в моем массиве заметок имеют номера, которые отличаются.

Я пытался изменить свой код так, чтобы аргумент для indexOf был регулярным выражением, но он не работал:

var reg = /^\d+$/;
notes[0].substring(0,notes[0].indexOf(reg));

Спасибо.

1 Ответ

3 голосов
/ 10 ноября 2019

Вы можете получить первую часть без номера.

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

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

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