[ID CC2022] Обрыв строки

Stormmaskarad

Участник
Топикстартер
Сообщения
18
Реакции
0
1654777937772.png

Ребята, добрый день.
Вопрос очень простой, ищу вот так обрыв строчки, но не могу подобрать правильный GREP что бы разрыв такой убивать, но буквы оставались. Поискал на просторах форума и именно заменить с сохранением букв не нашел ничего. Может гуру подскажут?
P.S. и да может кто поиск, подкорректирует, надо что бы находил GREP любой символ в строке такие как » или – или ... Бывает что строка оборвана и после такого.
Спасибо за подсказку!
 
Последнее редактирование:

afalbert

10 лет на форуме
Сообщения
120
Реакции
88
например , так:
в поле найти: (\w)\r(\w)
в поле заменить: $1$2
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Пробел между не помешает только
 

nutshell

15 лет на форуме
Сообщения
20
Реакции
8
Может быть так: сначала заменить \p на какой-нибудь экзотический символ, условно *. Потом заменить сочетания символов на которые может оканчиваться абзац и * на другой экзотический символ, условно **. Потом заменить * на пробел, а ** на \p.
 

Stormmaskarad

Участник
Топикстартер
Сообщения
18
Реакции
0
Afalbert ? вот что получается.

Ввожу
1654784264657.png


вот такая замена
1654784313371.png


Я же пробовал так. Может GREP глючит?
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
выделяют то, что будет подставлено вместо $1 и $2 в данном случае
 

Stormmaskarad

Участник
Топикстартер
Сообщения
18
Реакции
0
1654784752429.png


а вот запятые пропускает и трое многоточие с кавычками
 
Последнее редактирование:

afalbert

10 лет на форуме
Сообщения
120
Реакции
88
В поле поиска, например так: ([\w,])\r([\w])
в квадратные скобки можно добавлять разные символы. Но вообще-то вам нужно читать про греп. Можно написать сложное универсальное выражение, но нужно четко знать все условия задачи, иногда проще разбить задачу на несколько простых
 

densen

15 лет на форуме
Сообщения
753
Реакции
642
Мне кажется, что тут лучше использовать другую конструкцию поиска:
Найти: ([^\.\?\!])\s?\r(\l)
Заменить: $1 $2
Найти всё случаи, когда в конце абзаца стоит "не точка, не восклицательный и не вопросительный знаки", а следующая строка начинается со строчной буквы.
 

Lucky1978

12 лет на форуме
Сообщения
345
Реакции
126
Мне кажется, что тут лучше использовать другую конструкцию поиска:
Найти: ([^\.\?\!])\s?\r(\l)
Заменить: $1 $2
Найти всё случаи, когда в конце абзаца стоит "не точка, не восклицательный и не вопросительный знаки", а следующая строка начинается со строчной буквы.
Тогда ещё до кучи многоточие, точка с запятой, двоеточие (хотя они могут и в середине предложения встречаться). Тут 100%-ное условие вряд ли получится из-за таких неочевидных случаев, так что всё равно надо будет контролировать процесс, чтобы лишнего чего не заменило. Ну и пробелы, табуляции и т.п. в конце первой строки либо в начале второй тоже бывают и тоже усложняют условие.
 
Последнее редактирование:

Stormmaskarad

Участник
Топикстартер
Сообщения
18
Реакции
0
Ребят! Спасибо огромное! Помогли очень.

densen

мне как мало знающему можно расшифровать эту формулу ([^\.\?\!])\s?\r(\l) на будущее, я тогда уже сам большую часть смогу сам составлять. Часть я понял, но не до конца.

Спасибо, еще раз за помощь!
 

densen

15 лет на форуме
Сообщения
753
Реакции
642
мне как мало знающему можно расшифровать эту формулу ([^\.\?\!])\s?\r(\l) на будущее, я тогда уже сам большую часть смогу сам составлять. Часть я понял, но не до конца.
Распишу подробно ([^\.\?\!])\s?\r(\l):
[^\.\?\!] - любой символ, кроме точки (\., вопросительного знака \? и восклицательного знака \!).
\s? - любой "whitespace" (пробел и прочие "промежутки" между словами), который может быть, а может и не быть, поэтому под знаком "вопроса".
\r - конец абзаца (возврат "каретки")
\l - любая строчная буква.
В вашем случае необходимо убрать все переносы строки, если они не являются окончанием абзаца. Поскольку абзац обязательно заканчивается каким-либо знаком препинания, то внеся эти знаки препинания в список обязательно отсутствующих, мы сразу исключим случаи естественного окончания абзаца.
Обычно абзац начинается с прописной буквы, поэтому используя в поиске строчную букву в начале обзаца, мы еще жесче исключим случаи естественного окончания абзаца.
 
Последнее редактирование:

Stormmaskarad

Участник
Топикстартер
Сообщения
18
Реакции
0

densen

Вот бы в школе так разжевывали ) ! Благодарствую densen ! Прям все подробненько!
СПАСИБО!