удаление чисел из строки
questionText = "1 ding ?"
Я хочу заменить этот номер и номер вопроса, число может быть любым числом, я пробовал использовать следующий код, который не работает
questionText.replace(/[0-9]/g, '');
удаление чисел из строки
questionText = "1 ding ?"
Я хочу заменить этот номер и номер вопроса, число может быть любым числом, я пробовал использовать следующий код, который не работает
questionText.replace(/[0-9]/g, '');
Очень близко, попробуйте:
questionText = questionText.replace(/[0-9]/g, '');
replace
не работает над существующей строкой, он возвращает новую. Если вы хотите использовать его, вам нужно его сохранить!
Аналогично, вы можете использовать новую переменную:
var withNoDigits = questionText.replace(/[0-9]/g, '');
Один последний трюк, чтобы сразу удалить целые блоки цифр, но можно зайти слишком далеко:
questionText = questionText.replace(/\d+/g, '');
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,'');
Вы удивительно близки.
Вот код, который вы написали в вопросе:
questionText.replace(/[0-9]/g, '');
Код, который вы написали, действительно смотрит на переменную questionText и производит вывод, который является исходной строкой, но с заменой цифр пустой строкой.
Однако он не автоматически присваивает его исходной переменной. Вам нужно указать, что ему назначить:
questionText = questionText.replace(/[0-9]/g, '');
Просто хочу добавить, поскольку это может быть интересно кому-то, что вы можете думать о проблеме и наоборот. Я не уверен, что это интересно, но я считаю это актуальным.
То, что я подразумеваю под другим способом, это сказать "отбросить все, что не то, что я ищу, т.е. если вы хотите только" динг ", вы могли бы сказать:
var strippedText = ( "1 ding?" ). replace (/[^ a-zA-Z]/g, '');
Что в основном означает "удалить все, что является nog a, b, c, d.... Z (любая буква).