Я хочу удалить числа из строки:
questionText = "1 ding ?"
Я хочу заменить число 1
числом и вопросительный знак ?
. Это может быть любое количество. Я пробовал следующий нерабочий код.
questionText.replace(/[0-9]/g, '');
Вторичная опция состояла бы в том, чтобы соответствовать и возвратить нецифры с некоторым выражением, подобным,
/\D+/g
, который будет, вероятно, работать на ту определенную строку в вопросе (1 ding ?
).
function non_digit_string(str) {
const regex = /\D+/g;
let m;
non_digit_arr = [];
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
m.forEach((match, groupIndex) => {
if (match.trim() != '') {
non_digit_arr.push(match.trim());
}
});
}
return non_digit_arr;
}
const str = `1 ding ? 124
12 ding ?
123 ding ? 123`;
console.log(non_digit_string(str));
, Если Вы хотите упростить/изменить/исследовать выражение, оно было объяснено на верхней правой панели regex101.com . Если бы Вы хотели бы, можно также смотреть в эта ссылка , как она соответствовала бы против некоторых демонстрационных исходных данных.
<час>jex.im визуализирует регулярные выражения: