JS-код для удаления пробела между числами в строке

1

Есть ли способ удалить пробелы только числа в строке?

var str = "Магазин 5 6 7 8"

после обработки вывод должен выглядеть примерно так: "Магазин 5678"

Как это сделать?

  • 0
    так что вы пробовали до сих пор .. и это будет та же строка, что и статические
  • 0
    var str = 'хранилище 1 2 3 4' console.log (str.replace (/ / g, '')); console.log (ул); Этот код заменяет все пробелы в строке ... Но я хочу, чтобы были удалены только пробелы между числом.
Теги:

4 ответа

0
Лучший ответ

Привет. Вы можете попробовать это.

var str = "The store is 5 6 7 8"
var regex = /(\d+)/g;
str.split(/[0-9]+/).join("") + str.match(regex).join('')

Надеюсь, это сработает.

  • 0
    Большое спасибо!!!! Это сработало
1

Это очень близко к 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);

https://regex101.com/r/nSZfQR/3/

0

Вы можете попробовать следующий фрагмент кода.

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
    Спасибо!!!! Это было полезно
0

/([0-9]+) ([0-9]+)/ - удаляет пробел между цифрами. Но запуск s.replace заменяет только первые вхождения. Я вставляю в цикл, поэтому он сохраняет все пробелы между двумя цифрами, пока между цифрами больше нет пробелов.

prevS = ''; 
while(prevS !== s){
   prevS = s; s = s.replace(/([0-9]+) ([0-9]+)/, '$1$2');
}
  • 0
    Хотя это может дать ответ на вопрос, оно может быть связано с небольшим объяснением того, почему и как он отвечает на вопрос, в противном случае он может быть удален - из обзора

Ещё вопросы

Сообщество Overcoder
Наверх
Меню