Как удалить числа из строки?

Я хочу удалить числа из строки:

questionText = "1 ding ?"

Я хочу заменить число 1 числом и вопросительный знак ? . Это может быть любое количество. Я пробовал следующий нерабочий код.

questionText.replace(/[0-9]/g, '');
68
задан k0pernikus 28 October 2019 в 17:40
поделиться

1 ответ

Вторичная опция состояла бы в том, чтобы соответствовать и возвратить нецифры с некоторым выражением, подобным,

/\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 . Если бы Вы хотели бы, можно также смотреть в эта ссылка , как она соответствовала бы против некоторых демонстрационных исходных данных.

<час>

Схема RegEx

jex.im визуализирует регулярные выражения:

enter image description here

0
ответ дан 24 November 2019 в 14:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: