Перейти к содержимому

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

  • автор:

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

Регистрация: 03.09.2009

Сообщений: 116

Как убрать лишние символы в конце строки таблицы word

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

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

Sub Макрос3() Dim longstring, shortstring, longs, shorts As String Dim iCell As Range Dim i As Integer Dim j As Integer Dim N As Integer Dim Num As Integer N = 58 For i = 12 To N ActiveDocument.Tables(1).Cell(i, 1).Select shortstring = Selection.text shorts = RTrim(shortstring) ActiveDocument.Tables(1).Cell(i, 2).Select longstring = Selection.text AutoCorrect.Entries.Add Name:=shortstring, Value:=longstring Next i End Sub

Изображения

таблица.jpg (121.2 Кб, 0 просмотров)
ошибка автозамена.JPG (13.6 Кб, 13 просмотров)
квадраты.JPG (6.1 Кб, 13 просмотров)
Kreadlling
Посмотреть профиль
Найти ещё сообщения от Kreadlling

Убрать лишние символы в словах

более гибкий в каком смысле? И вообще — что нужно удалять, что нужно оставлять?

2 фев 2023 в 10:08

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

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

import re line = ['ethdubai (3).db', 'https://t.me/aiogram_ru', 'ethdubai.db', 'telegram', '@markdown', '@metamaskofficialchat / Metamask | Offical Chat | ноя,2020'] for i in line: word = sorted(re.sub(r'\W', ' ', i).split(), key=len, reverse=True)[0] print(word) 
ethdubai aiogram_ru ethdubai telegram markdown metamaskofficialchat 

Доброго времени суток. Возможно ли удалить один символ со всего документа в ворде (Microsoft Word)?

¬ -символ, очень часто встречается, и он в данном документе не нужен, нужно его удалить, т. к. в документе странниц возиться придётся много. Есть способ выделить его и убрать из всего документа?

Дополнен 11 лет назад
250 старниц*
Дополнен 11 лет назад

Проблема в том, что в поиске и замене этот символ не определяется. Другие способы есть?
п. с.
я бы не спрашивал просто так.

Дополнен 11 лет назад

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

Дополнен 11 лет назад
перезагрузил комп, после вошёл в ворд. и о чудо) он стал обнаружить этот символ))
Лучший ответ

Мягкий перенос это. Находится тут:

Или просто в поле «Найти» вставить ^-, а поле «Заменить на» оставить пустым и нажать «Заменить все».

Остальные ответы
Нажимает «Заменить» в менюшках Ворда, в первом поле нужный символ, а второе оставьте пустым.

О Боже мой! Это новое поколение Пепси! Жми Ctrl+H и вставь в поле Заменить нужный символ, а в поле НА ничего не вставляй. 250 стАрниц.. .
На всякий случай, Н — это не русская буква Эн, а это английская Аш.

Если текст заблокирован кем-то, то не получится. Если Вы заблокировали, то разблокировать и удаляйте символ. Можно сканировать Тот лист с Тем текстом с Тем символом, ввести сканированную копию в Word, удалить ненужный символ и распечатать Этот лист с исправлением и подкрепить к общему документу, всё!

Зачистка текста

Давайте рассмотрим способы избавления от такого «мусора».

Замена

«Старый, но не устаревший» трюк. Выделяем зачищаемый диапазон ячеек и используем инструмент Заменить с вкладки Главная – Найти и выделить (Home – Find & Select – Replace) или жмем сочетание клавиш Ctrl+H.

Изначально это окно было задумано для оптовой замены одного текста на другой по принципу «найди Маша – замени на Петя», но мы его, в данном случае, можем использовать его и для удаления лишнего текста. Например, в первую строку вводим «г.» (без кавычек!), а во вторую не вводим ничего и жмем кнопку Заменить все (Replace All). Excel удалит все символы «г.» перед названиями городов:

clean-text1.png

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

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

Если из текста нужно удалить вообще все пробелы (например они стоят как тысячные разделители внутри больших чисел), то можно использовать ту же замену: нажать Ctrl+H, в первую строку ввести пробел, во вторую ничего не вводить и нажать кнопку Заменить все (Replace All).

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

clean-text2.png

Удаление непечатаемых символов

В некоторых случаях, однако, функция СЖПРОБЕЛЫ (TRIM) может не помочь. Иногда то, что выглядит как пробел – на самом деле пробелом не является, а представляет собой невидимый спецсимвол (неразрывный пробел, перенос строки, табуляцию и т.д.). У таких символов внутренний символьный код отличается от кода пробела (32), поэтому функция СЖПРОБЕЛЫ не может их «зачистить».

Вариантов решения два:

  • Аккуратно выделить мышью эти спецсимволы в тексте, скопировать их (Ctrl+C) и вставить (Ctrl+V) в первую строку в окне замены (Ctrl+H). Затем нажать кнопку Заменить все (Replace All) для удаления.
  • Использовать функцию ПЕЧСИМВ (CLEAN) . Эта функция работает аналогично функции СЖПРОБЕЛЫ, но удаляет из текста не пробелы, а непечатаемые знаки. К сожалению, она тоже способна справится не со всеми спецсимволами, но большинство из них с ее помощью можно убрать.

Функция ПОДСТАВИТЬ

Замену одних символов на другие можно реализовать и с помощью формул. Для этого в категории Текстовые в Excel есть функция ПОДСТАВИТЬ (SUBSTITUTE) . У нее три обязательных аргумента:

  • Текст в котором производим замену
  • Старый текст – тот, который заменяем
  • Новый текст – тот, на который заменяем

С ее помощью можно легко избавиться от ошибок (замена «а» на «о»), лишних пробелов (замена их на пустую строку «»), убрать из чисел лишние разделители (не забудьте умножить потом результат на 1, чтобы текст стал числом):

clean-text3.png

Удаление апострофов в начале ячеек

Апостроф (‘) в начале ячейки на листе Microsoft Excel – это специальный символ, официально называемый текстовым префиксом. Он нужен для того, чтобы дать понять Excel, что все последующее содержимое ячейки нужно воспринимать как текст, а не как число. По сути, он служит удобной альтернативой предварительной установке текстового формата для ячейки (Главная – Число – Текстовый) и для ввода длинных последовательностей цифр (номеров банковских счетов, кредитных карт, инвентарных номеров и т.д.) он просто незаменим. Но иногда он оказывается в ячейках против нашей воли (после выгрузок из корпоративных баз данных, например) и начинает мешать расчетам. Чтобы его удалить, придется использовать небольшой макрос. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert — Module) и введите туда его текст:

Sub Apostrophe_Remove() For Each cell In Selection If Not cell.HasFormula Then v = cell.Value cell.Clear cell.Formula = v End If Next End Sub

Теперь, если выделить на листе диапазон и запустить наш макрос (Alt+F8 или вкладка Разработчик – кнопка Макросы), то апострофы перед содержимым выделенных ячеек исчезнут.

Английские буквы вместо русских

Это уже, как правило, чисто человеческий фактор. При вводе текстовых данных в ячейку вместо русских букв случайно вводятся похожие английские («це» вместо русской «эс», «игрек» вместо русской «у» и т.д.) Причем снаружи все прилично, ибо начертание у этих символов иногда абсолютно одинаковое, но Excel воспринимает их, конечно же, как разные значения и выдает ошибки в формулах, дубликаты в фильтрах и т.д.

Можно, конечно, вручную заменять символы латинцы на соответствующую им кириллицу, но гораздо быстрее будет сделать это с помощью макроса. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert — Module) и введите туда его текст:

Sub Replace_Latin_to_Russian() Rus = "асекорхуАСЕНКМОРТХ" Eng = "acekopxyACEHKMOPTX" For Each cell In Selection For i = 1 To Len(cell) c1 = Mid(cell, i, 1) If c1 Like "[" & Eng & "]" Then c2 = Mid(Rus, InStr(1, Eng, c1), 1) cell.Value = Replace(cell, c1, c2) End If Next i Next cell End Sub

Теперь, если выделить на листе диапазон и запустить наш макрос (Alt+F8 или вкладка Разработчик – кнопка Макросы), то все английские буквы, найденные в выделенных ячейках, будут заменены на равноценные им русские. Только будьте осторожны, чтобы не заменить случайно нужную вам латиницу 🙂

Ссылки по теме

  • Поиск символов латиницы в русском тексте
  • Проверка текста на соответствие заданному шаблону (маске)
  • Деление «слипшегося» текста из одного столбца на несколько

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

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