Пробелы через букву

  • Автор темы Автор темы umkas
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

umkas

Участник
Топикстартер
Сообщения
278
Реакции
21
Уважаемые, добрый час!
Столкнулся с пробелами после каждой буквы в словах где должен быть трекинг.
Как лечить? что-то типа ([\l\u])\s(\l)\s(\l)\s(\l)\s(\l)\s
Как задать повторение "n-раз"
 
Зачем повторение и как нужные пробелы будете сохранять?
 
Изначально подобный партен уничтожит однобуквенные частицы и предлоги.
Повторение указывается звёздочкой — любое кол-во раз, вопрос — ноль, либо один раз, либо в круглых скобках {от, до}
Но на вскидку не вижу решения через «повторения».
Очевидное решение задачи — замена пробелов на «ничего» в нужных местах. Разумеется, это долго.
Поиск проблемного текста возможен с помощью партена:
Код:
(?<=\w)\s(?=\w)
Но замена — только после оценки глазами. Для ускорения рекомендую открыть окно поиска CTRL+F, ввести партен поиска и, используя «find» + «change/find», пробежаться по тексту.
 
Спасибо, естественно замена только после оценки!
 
Мне кажется, лучше искать отдельно для каждой буквы алфавита. Например, однобуквенные слова вроде "д" вряд ли возможны. Их (с пробелами) можно всех поменять на автомате, не забыв временно назначить какой-нибудь символьный стиль. И их прописные варианты тоже.
А те, которые допускают варианты ("а", "и", "к"), прочесать с просмотром.
Потом отдельно пройтись по всем местам, где оказался этот символьный стиль. Для уверенности.
 
  • Спасибо
Реакции: Serbel
Можно попробовать так:

1) меняем все слова от 2-х букв и более с пробелом после слова на такие же слова с заменой пробела на другой символ, например
(\w\w+)space на $1{}
где space = пробел, не "\s" !!

2) делаем тоже самое, но с пробелом перед словом (символы для замен подбираются по вкусу, ширине и т.п.)
space(\w\w+) на []$1

Получаем текст типа:
По{}словам{}собеседника{}издания,[]среди{}а р г у м е н т о в,[]которые{}приводил{}в х о д е[]дискуссии

Задача почти решена, если бы не слова типа "в х о д е".

Вариант решения 1.
-- тупо удалить пробелы
-- восстановить нормальные пробелы
-- запустить орфографию

Вариант 2.
-- заменить проблемные пробелы на какой-нибудь окрашенный символ... мне нравится символ pipe, для простоты -- палка
По{}словам{}собеседника{}издания,[]среди{}а|р|г|у|м|е|н|т|о|в,[]которые{}приводил{}в|х|о|д|е[]дискуссии

-- восстановить все нормальные пробелы ( {} и [] ) и пройтись по тексту визуально, заменяя вручную в нужном месте одну палку на пробел
-- палки удалить


Вариант 2 лучше тем, что можно сразу пометить слова (или хотя бы пару символов) с пробельной разрядкой для последующей работы. Впрочем, в первом тоже можно))
 
Да уж... с датой я попал)) Ну, может пригодится еще кому.
 
Статус
Закрыто для дальнейших ответов.