Удаление номеров из строки? - программирование
Подтвердить что ты не робот

Удаление номеров из строки?

удаление чисел из строки

 questionText = "1 ding ?"

Я хочу заменить этот номер и номер вопроса, число может быть любым числом, я пробовал использовать следующий код, который не работает

  questionText.replace(/[0-9]/g, '');
4b9b3361

Ответ 1

Очень близко, попробуйте:

questionText = questionText.replace(/[0-9]/g, '');

replace не работает над существующей строкой, он возвращает новую. Если вы хотите использовать его, вам нужно его сохранить!
Аналогично, вы можете использовать новую переменную:

var withNoDigits = questionText.replace(/[0-9]/g, '');

Один последний трюк, чтобы сразу удалить целые блоки цифр, но можно зайти слишком далеко:

questionText = questionText.replace(/\d+/g, '');

Ответ 2

String immutable, поэтому questionText.replace(/[0-9]/g, ''); на нем работает, но не меняет строку questionText. Вам придется назначить результат замены другой переменной String или самому самому questionText.

var cleanedQuestionText = questionText.replace(/[0-9]/g, '');

или в 1 раз (используя \d+, см. ответ Коби):

 questionText = ("1 ding ?").replace(/\d+/g,'');

и если вы хотите обрезать ведущее (и конечное) пространство (ы), пока вы находитесь на нем:

 questionText = ("1 ding ?").replace(/\d+|^\s+|\s+$/g,'');

Ответ 3

Вы удивительно близки.

Вот код, который вы написали в вопросе:

questionText.replace(/[0-9]/g, '');

Код, который вы написали, действительно смотрит на переменную questionText и производит вывод, который является исходной строкой, но с заменой цифр пустой строкой.

Однако он не автоматически присваивает его исходной переменной. Вам нужно указать, что ему назначить:

questionText = questionText.replace(/[0-9]/g, '');

Ответ 4

Просто хочу добавить, поскольку это может быть интересно кому-то, что вы можете думать о проблеме и наоборот. Я не уверен, что это интересно, но я считаю это актуальным.

То, что я подразумеваю под другим способом, это сказать "отбросить все, что не то, что я ищу, т.е. если вы хотите только" динг ", вы могли бы сказать:

var strippedText = ( "1 ding?" ). replace (/[^ a-zA-Z]/g, '');

Что в основном означает "удалить все, что является nog a, b, c, d.... Z (любая буква).