Есть ли способ удалить пробелы только числа в строке?
var str = "Магазин 5 6 7 8"
после обработки вывод должен выглядеть примерно так: "Магазин 5678"
Как это сделать?
Привет. Вы можете попробовать это.
var str = "The store is 5 6 7 8"
var regex = /(\d+)/g;
str.split(/[0-9]+/).join("") + str.match(regex).join('')
Надеюсь, это сработает.
Это очень близко к santosh singh answer, но не заменит пространство между is
и 5
.
const regex = /(\d)\s+(?=\d)/g;
const str = 'The store is 5 6 7 8';
const subst = '$1';
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
Вы можете попробовать следующий фрагмент кода.
const regex = /(?!\d) +(?=\d)/g;
const str = 'The store is 5 6 7 8';
const subst = '';
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
/([0-9]+) ([0-9]+)/
- удаляет пробел между цифрами. Но запуск s.replace заменяет только первые вхождения. Я вставляю в цикл, поэтому он сохраняет все пробелы между двумя цифрами, пока между цифрами больше нет пробелов.
prevS = '';
while(prevS !== s){
prevS = s; s = s.replace(/([0-9]+) ([0-9]+)/, '$1$2');
}