Нажмите "Enter", чтобы перейти к содержанию

Удаление лишних пробелов: Убрать пробелы в тексте | Онлайн калькулятор

Содержание

Как удалить лишние пробелы в строке? — efim360.ru

Какие пробелы считать лишними?

Три случая:

  1. Строка начинается с пробела/пробелов
  2. Строка заканчивается пробелом/пробелами
  3. Внутри строки есть два и более пробелов подряд

Все эти три случая мы будем удалять, очищая строку от лишних пробелов.

ВНИМАНИЕ!!!

Мы рассматриваем пробелы, которые имеют символьные коды № 32. Если вы видите между символами пробел, то это может быть НЕ ПРОБЕЛ, а невидимый символ напоминающий пробел. Таких символов в IT очень много. Просто будьте к этому готовы.

Например. Очень часто на сайтах с WordPress можно встретить последовательность пробелов, где первый имеет символьный код № 160, а второй и последующие № 32. Учитывайте это в своих алгоритмах.

Если вы чего-то не видите, то это ещё не значит, что там ничего нет.

 

Пример строки с «лишними» пробелами

let stroka = "   aa bb  cc   dd    ee     ff     "

В этой строке есть 3 пробела в начале. +| +$|( ) +/g,»$1″)

ВНИМАНИЕ!!!

Аккуратно копируйте код отсюда т. к. Вордпресс заменяет пробелы из выражения на НЕПРАВИЛЬНЫЕ. Я не нашёл где это можно исправить. Это проблема разработчиков Вордпресс.

Напишите код который видите выше, самостоятельно в редакторе, используя пробел клавиатуры. И у вас всё получится.

 

Видео

 

Как это работает?

Решить задачу нам поможет метод replace(), который наследуется всеми экземплярами строк (

String). Внутрь него мы будем передавать два параметра:

  1. Искомое значение — будет регулярное выражение
  2. Заменяемое значение — пустая строка

 

Заменяемое значение

Я хочу начать с определения второго параметра т. к. он должен представлять из себя пустую строку. Мы должны заменять НАЙДЕННОЕ на НИЧТО. В строках нет понятия удаления, есть только понятие «ЗАМЕНА НА НИЧЕГО».

Но в нашем случае в качестве заменяемого значения мы указываем «$1«. Это не какой-то там доллар и один. Это часть синтаксиса такой темы как «Подстановки» (substitutions) в регулярных выражениях. Это такая специальная связка для метода replace(), которая помогает создавать группы последовательностей сопоставления внутри последовательностей сопоставления. То есть из всех возможных сопоставлений в строке мы можем выделять отдельные небольшие кусочки сопоставлений.

Ниже в этой публикации попытаемся разобраться в вопросе. Дойдём до сути.

 

Искомое значение

Шаг 1 — определение границ RegExp

Если мы ищем что-то в строке, то нам проще всего использовать самый эффективный инструмент — это регулярное выражение. Они предназначены только для работы со строками и ничем более.

Регулярное выражение поможет отловить любые по длине последовательности из пробелов. /,»»)

Обратите внимание! Мы специально установили один пробел в начале строки.

Удалили один пробел в начале строки методом replace и RegExp — JavaScript

Мы удалили всего один пробел в начале строки. Но этого недостаточно. А что если в начале строки будет на 1 пробел а 21? А если 7? Как быть в такой ситуации? Нам же нужно иметь универсальное решение, которое не зависит от количества начальных пробелов строки.

 

Шаг 3 — Квантификаторы

Нам нужно дополнить наше «Утверждение» ещё одним понятием синтаксиса шаблона регулярного выражения, которое называется «Квантификатор«. Всего существует 12 производств квантификаторов. Для решения нашей задачи мы можем воспользоваться квантификатором, который обозначается символом плюса +.

Как он работает? Слева от него нужно установить искомый символ для сопоставления строки. Квантификатор + попытается отыскать самую длинную последовательность из повторяющихся символов, который установлен слева от +. +/,»») ‘BLA8’Универсальный шаблон удаления пробелов в начале строки — JavaScript

Мы научились удалять любое количество пробелов в начале строки при помощи правильного шаблона регулярного выражения

Шаг 4 — Альтернативы

Теперь было бы неплохо повторить обработку пробелов в конце строки. И желательно сделать это совместно с отловом пробелов из начала строки. Как это сделать?

В шаблонах регулярных выражений есть ещё одно понятие, которое называется «Альтернатива«. Оно обозначается вертикальной линией |.

Дизъюнкция (Disjunction), Альтернатива (Alternative), Терм (Term) в RegExp — JavaScript

Альтернатива работает по принципу оператора ИЛИ. Если не ТО, то ЭТО. Воспринимайте Альтернативу как Ветвление в алгоритмах. (только на уровне регулярного выражения).

 

За конец строки отвечает Утверждение, которое обозначается символом доллара — $. +| +$/,»»)

Мы получаем интересный результат:

'HAHAH         '
Сработала только одна Альтернатива в RegExp — JavaScript

Почему пробелы на конце строки никуда не исчезни ведь мы правильно использовали синтаксис двух Альтернатив? Почему пробелы не удалились в конце строки?

Шаг 5 — Глобальный флаг регулярного выражения

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

Напомню, что Альтернатива — это Ветвление. То есть при сопоставлении нашей строки слева-направо, первыми встречаются пробелы НАЧАЛА СТРОКИ. Они вычисляются в максимальной своей длине. После этого регулярное выражение завершает свою работу т. к. одно из условий Ветвления выполнилось. Второе условие просто игнорируется и не выполняется. Как быть?

Чтобы сопоставлять строку до самого конца (без остановок), нужно использовать глобальный флаг регулярного выражения, который обозначается символом g. +| +$/g,»»)

И мы получаем строку без пробелов в начале и в конце.

Глобальный флаг помог выполнить две Альтернативы в RegExp — JavaScript

Пробелы в начале и в конце строки удалены. Ветвление выполнилось два раза из-за глобального флага.

Шаг 6 — Обработка пробелов из середины строки

Мы хотим обработать середину строки вместе с остальными Альтернативами, которые у нас уже есть. Что это значит?

Это означает, что мы хотим НАЙДЕННОЕ в СЕРЕДИНЕ также заменять на НИЧЕГО, как это было с НАЧАЛОМ и КОНЦОМ.

По логике выходит то, что мы должны отлавливать все места в середине строки, где количество пробелов два и более. И вот тут можно попасть в копкан, если воспользоваться квантификатором фигурных скобок {}. Например в таком выражении:

/ {2,}/g

Этот способ будет идеально работать, если количество пробелов будет нечётным. Но как только нам встретится чётное количество пробелов в строке, то ЗАМЕНА на НИЧЕГО просто склеит два слова вместе, не оставив ни единого пробела. Это ошибка!

Этот шаг требует ещё одного понимания процессов формирования шаблонов регулярных выражений. Следующая концепция называется «Атом со спецификатором группы». Звучит страшновато, но по факту всё просто.

Группа оформляется при помощи круглых скобок внутри шаблона регулярного выражения. Внутри самой группы, нам нужно прописывать наш искомый пробел. За пределами группы (справа), тоже должен быть пробел с привычным нам квантификатором +.

Выглядит это так:

/( ) +/g

В результате мы всегда пытаемся отыскать как минимум два подряд символа пробела. То есть любые одинарные пробелы 100% не попадут под это сопоставление.

Первый пробел в нашем случае изолирован группой. Все остальные пробелы отслеживаются квантификатором. То есть наш квантификатор как бы не видит первый пробел в шаблоне(не влияет на него).

Шаблон мы написали, но теперь нужно вернуться ко второму параметру метода replace().

Мы ждём ситуацию, когда сработает третья альтернатива из шаблона:

/^ +| +$|( ) +/g

Чтобы вытащить единственный пробел из захваченной круглыми скобками группы, нам нужно указать в качестве заменяемого значения знак доллара и номера группы. Выглядит это так «$1«. Это обычная строка, но «под капотом» у метода replace() есть чёткая инструкция как нужно обрабатывать подобные строки. Алгоритм обработки подробно описан в стандарте ECMAScript в разделе абстрактной операции GetSubstitution().

Вернём к самой первой строке:

let stroka = "   aa bb  cc   dd    ee     ff     "

Произведём необходимую замену:

3 альтернативы в RegExp удалили лишние пробелы в строке — JavaScript

 

Дополнительная информация

Последовательность Альтернатив важна. Для работы по удалению лишних пробелов первой должна быть Альтернатива НАЧАЛА, потом КОНЦА и только потом СЕРЕДИНЫ.

Информационные ссылки

JavaScript — RegExp — Квантификатор «Фигурные скобки»

JavaScript — RegExp — Утверждения

Стандарт ECMAScript — Раздел «22.1.3.18 String.prototype.replace ( searchValue, replaceValue )» — https://tc39.es/ecma262/multipage/text-processing. html#sec-string.prototype.replace

Как удалить лишние пробелы в диапазоне

Готовые решения » Надстройка VBA-Excel » Удалить пробелы

Иногда при копировании текста из интернета или наборе его вручную появляются лишние (двойные) пробелы. Как их удалить, читайте далее.

Добавить в Excel

Удаление лишних пробелов с помощью функции

В Excel имеется специальная функция для удаления лишних пробелов =СЖПРОБЕЛЫ(ТЕКСТ). Она позволяет удалить пробелы вначале и в конце текста, а также удаляет лишние пробелы между словами. К сожалению, она обладает несколькими недостатками:

  • Функцию приходится вбивать в отдельный столбец, потом переносить полученный текст без лишних пробелов в исходный столбец, а промежуточный столбец удалять.
  • К сожалению функция пропускает неразрывные пробелы. 

Удаление пробелов в выделенном диапазоне

Согласитесь, что в некоторых случаях, намного удобнее было бы просто выделить исходный диапазон и нажать команду удалить пробелы.

Такого функционала в Excel к сожалению нет. 

В составе надстройки VBA-Excel имеется такая функция, вот как ей пользоваться:

  1. Выделите диапазон ячеек, в котором хотите удалить лишние пробелы.
  2. Перейдите на вкладку VBA-Excel (она будет доступна после установки).
  3. В меню Работа с текстом выберите команду Удалить пробелы.

Удаление пробелов с помощью макроса на VBA


'*****************************************************************************************************
' Метод         : DeleteDoubleSpace
' Разработчик   : Желтов Алексей
' Дата создания : 29.11.2015 21:31
' Описание      : Удаление двойных пробелов
'*****************************************************************************************************
Sub DeleteDoubleSpace()
    Dim cell As Range
    Dim WorkRng As Range
    
    If TypeName(Selection) <> "Range" Then Exit Sub
    
    If Selection.
CountLarge = 1 Or ActiveCell.MergeArea.CountLarge = Selection.CountLarge Then Set WorkRng = ActiveCell If Not Application.IsText(WorkRng) Or WorkRng.HasFormula = True Then MsgBox "Текстовые ячейки в указанном диапазоне отсутствуют.", 64, "Информация" Exit Sub End If Else Set WorkRng = Selection.SpecialCells(xlCellTypeVisible) Set WorkRng = WorkRng.SpecialCells(xlCellTypeConstants) End If If MsgBox("Двойные пробелы в выделенных ячейках будут заменены на одинарные. Операцию нельзя отменить. Уверены?", 36, "Подтверждение действия") <> vbOK Then Exit Sub For Each cell In WorkRng cell.Value = Replace(cell.Value, Chr(160), " ") cell.Value = Application.Trim(cell.Value) Next End Sub

Надстройка
VBA-Excel

Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.

Добавить в Excel

Рекомендуем к прочтению

Вернуть текст до найденного слова или символа

Как найти число в произвольной части текста

Извлечь текст из строки Excel

Комментарии:

Please enable JavaScript to view the comments powered by Disqus.comments powered by Disqus

Удалить пробелы онлайн из текста

Используйте этот бесплатный инструмент, чтобы удалить лишние пробелы или пробелы табуляции из вашего текстового содержимого. Он заменяет несколько пробелов в вашем тексте одним пробелом.

Он также может удалить все пробелы, если вам нужна эта опция, вместо замены их одним пробелом по умолчанию. Этот инструмент удалит из вашего контента все ненужные пробелы.

Удалить пробелы из текста

Вставьте свой текст в поле ниже, а затем нажмите кнопку заменить пробелы . Новый текст появится в поле внизу страницы.

Замените лишние пробелы одним пробелом и удалите все вкладки

Заменить несколько пробелов и табуляции одним пробелом

Новый текст с удаленными пробелами

Скопируйте или загрузите новый текст из поля ниже.

Скачать новый текст

Изменения в средстве удаления пробелов

Этот инструмент теперь может загружать только что очищенный текст в виде текстового файла. Конечно, вы все еще можете скопировать результаты этого инструмента для вставки в другое место. Это небольшое изменение, но оно делает этот онлайн-инструмент более удобным для удаления пробелов. Отлично подходит для этого типа общей проблемы форматирования.

Вот и все, этот базовый инструмент довольно прост в использовании. Это отличный конвертер для удаления пробелов из текстового содержимого и замены их одним пробелом. Это очень удобно, когда вы пытаетесь преобразовать плохо отформатированный текст во что-то более читабельное.

У меня есть другие онлайн-инструменты, которые могут вам понравиться, например этот, для удаления разрывов строк.

Сегодня праздник?

Узнайте на нашем новом веб-сайте: All Holidays

Языковые версии

Удалить пробелы онлайн также доступен на немецком языке (Doppelte Leerzeichen entfernen), Французский (Outil de suppression d’espace insécable supplémentaire) и испанский (Eliminar espacios en blanco adicionales).

Самые популярные текстовые инструменты

  • Удалить разрывы строк: удалите из текста ненужные разрывы строк.
  • Генератор случайных слов: Создайте список случайных слов. Отличный инструмент для мозгового штурма идей.
  • Алфавитный порядок: с помощью этого инструмента упорядочивайте в алфавитном порядке все виды текстового содержимого.
  • Текст в HTML: автоматически превращать обычный текст в абзацы HTML.
  • HTML в текст: удалите все теги HTML, оставив только текстовое содержимое.
  • Онлайн-счетчик предложений: быстро подсчитайте количество предложений в вашем контенте.
  • Генератор случайного выбора: случайным образом выберите вариант из списка вариантов.
  • Генератор обратного текста: создавайте сообщения в социальных сетях или любой текст в обратном тексте.
  • Удалить повторяющиеся строки: удалите все одинаковые строки в вашем контенте.
  • Абзац в одну строку: преобразование любых нескольких абзацев в одну строку.

Алфавитный инструмент

  • Алфавитный порядок
  • Сортировать список по алфавиту
  • Расставить слова по алфавиту
  • Сортировка строк по алфавиту

Генераторы случайных чисел

  • Генератор случайных слов
  • Генератор случайных предложений
  • Генератор случайных существительных
  • Генератор случайных прилагательных
  • Генератор случайных строк
  • Генератор случайных букв
  • Средство принятия случайных решений
  • Генератор случайных чисел
  • Генератор случайных паролей
  • Генератор случайного выбора

Инструменты для разрыва строки

  • Удаление разрывов строки
  • Удалить повторяющиеся строки
  • Добавить разрывы строк
  • Преобразование разрывов строк в абзацы
  • Абзацы в одну строку

Инструменты для забавного текста

  • Обратный текст
  • Генератор повторного текста
  • Крошечный текстовый генератор
  • Генератор курсивного текста
  • Генератор полужирного текста

Инструменты для изменения текста

  • Сделать первую букву предложения заглавной
  • Текст в верхнем или нижнем регистре
  • Удалить пробелы онлайн
  • Использовать каждое слово с заглавной буквы
  • Удалить цифры из текста

Инструменты SEO и Word

  • Счетчик слов
  • Счетчик предложений онлайн
  • Счетчик символов
  • Инструмент капитализации заглавных букв
  • Проверка длины мета-описания

Средства преобразования содержимого

  • Преобразование документа Word в HTML
  • Преобразование документа Word в текст
  • Преобразовать обычный текст в HTML
  • Преобразование URL-адресов в HTML-ссылки
  • Преобразование текста CSV в таблицу HTML
  • HTML в текст

Генераторы HTML-кода

  • Генератор HTML-таблиц
  • Генератор списков HTML
  • Генератор HTML-текста
  • Конструктор всплывающих окон Javascript
  • Электронная почта HTML-код
  • Удалить теги HTML

Сжатие HTML

  • Сжатие кода HTML
  • Распаковать код HTML

Средства кодирования HTML

  • Средство кодирования символов HTML
  • Кодировать URL-адрес

Удалить лишние пробелы из ячейки

Главная > Формулы Excel > Как удалить лишние пробелы в Excel

1. Удалить лишние пробелы с помощью функции TRIM [конечный и начальный]

2. Объединить очистку и обрезку для удаления лишнего пробела из разрыва строки

3. Использование очистки, обрезки и замены для удаления всех пробелов из ячейки

4. Используйте функцию «Найти и заменить», чтобы удалить все пробелы

Получить файл Excel

Заключение

Дополнительные формулы

Чистые данные — это наше право по рождению, но иногда мы не можем получить к ним доступ.

Иногда мы не можем использовать наши данные так, как нам хочется. И одна из главных причин, по которой наши данные нельзя использовать, это…

Так что, если вы хотите их использовать, мы должны удалить их все. Когда вы думаете об этом, большую часть времени, когда вы получаете данные из систем ERP или у вас есть некоторые формулы, которые написаны неправильно, вы получаете эти нежелательные пробелы.

Итак, каждый раз, когда вы работаете со своими данными, вам нужно сначала проверить их.

И в сегодняшнем посте я покажу вам 4 метода удаления всех этих нежелательных и лишних пробелов.

Убедитесь, что СКАЧАЛИ этот ФАЙЛ ОБРАЗЦА отсюда, чтобы следовать дальше. Теперь приступим.

Иногда в данных появляются пробелы в конце и в начале, и это выглядит очень неприятно.

Но у нас есть очень простой и легкий способ вытащить этот мусор и вам нужна всего одна функция, чтобы с ним справиться.

Это ТРИМ.

Удаляет все ненужные пробелы из текстовой строки, кроме пробелов между двумя словами, посмотрите на пример ниже.

Как видите, мы использовали TRIM для удаления из ячейки всех ненужных конечных и начальных пробелов.

В ячейке 70 символов, и когда вы использовали TRIM, количество символов уменьшается до 41, что означает удаление 29 пробелов из ячейки.

Существует еще одна возможность получить разрыв строки в текстовой строке.

В этой ситуации вам необходимо использовать комбинацию CLEAN и TRIM, где функция CLEAN может удалить все непечатаемые символы, которые также включают разрыв строки.

Как это работает

Прежде всего, CLEAN удаляет из текстовой строки все непечатаемые символы, а затем TRIM удаляет из текстовой строки все нежелательные пробелы, кроме пробела между двумя словами.

3. Использование очистки, обрезки и замены для удаления всех пробелов из ячейки

Здесь мы имеем другой тип проблемы с этими пробелами.

Иногда нам нужно удалить все типы пробелов из ячейки. Но очистка и обрезка не могут удалить все типы пробелов.

Например, если у вас в ячейке есть неразрывный пробел, вы не сможете с ним справиться, используя обе эти функции.

И для этой задачи вам нужно объединить CLEAN и TRIM с SUBSTITUTE.

Позвольте мне показать вам пример.

В приведенном ниже примере у нас есть список мобильных номеров на листе, и эти номера окружены нежелательными пробелами.

Нам нужен только 10-значный номер мобильного от него.

принцип работы

ПОДСТАВИТЬ помогает вам найти определенный символ или набор символов в текстовой строке и заменить его некоторыми другими символами или одним символом.

4. Используйте функцию «Найти и заменить», чтобы удалить все пробелы

Минуточку!

У меня есть другой вариант решения вышеупомянутой проблемы, и вам не нужно использовать для этого формулу. Вы можете использовать НАЙТИ и ЗАМЕНИТЬ, чтобы заменить пробелы в ячейке, вот шаги:

  1. Выберите ячейку или диапазон ячеек, из которых вы хотите удалить пробелы.
  2. Используйте сочетание клавиш: Control + H , чтобы активировать функцию поиска и замены.
  3. В строке ввода «Найти что» вставьте пробел с помощью пробела, а «Заменить на» должно оставаться пустым.
  4. Нажмите кнопку заменить все, вы получите всплывающее сообщение о том, сколько пробелов заменено.

Предупреждение: Используйте этот метод, только если вы подтвердили удаление всех типов пробелов из выбранных ячеек.

Получить файл Excel

Скачать

Заключение

Лишние пробелы всегда раздражают. Но теперь у вас есть 4 разных метода их удаления, и вы можете выбрать любой из этих методов, который, по вашему мнению, идеально подходит для вас.

Ваш комментарий будет первым

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *