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

gexweb

Client
Регистрация
04.12.2016
Сообщения
144
Благодарностей
23
Баллы
18
Подскажите, имея текст в котором есть двойной, тройной и более пробел, замену на один пробел регуляркой можно изобразить? Или только путем замены в несколько этапов?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 538
Благодарностей
8 712
Баллы
113
Подскажите, имея текст в котором есть двойной, тройной и более пробел, замену на один пробел регуляркой можно изобразить? Или только путем замены в несколько этапов?
Можно в один этап: Обработка текста - Замена по регулярке \s+ на {-String.Space-}
 
  • Спасибо
Реакции: ERR, refrain и gexweb

gexweb

Client
Регистрация
04.12.2016
Сообщения
144
Благодарностей
23
Баллы
18
Можно в один этап: Обработка текста - Замена по регулярке \s+ на {-String.Space-}
С пробелами получилось, спасибо. Только результат в одну строку сохраняется теперь, это несколько усложняет все)))
 

zenno.xxx

Client
Регистрация
05.10.2016
Сообщения
262
Благодарностей
248
Баллы
43
попробуйте просто, как сказал Сергей, заменить \ + на {-String.Space-}
в чистом виде
 
  • Спасибо
Реакции: Sergodjan и gexweb

orka13

Client
Регистрация
07.05.2015
Сообщения
2 167
Благодарностей
2 169
Баллы
113
Самый лучший вариант использовать вот такую регулярку:
C#:
[^\S\r\n]+
Она заменит все пробелы и псевдо-пробелы (знаки табуляции и нестандартные пробелы)
 

gexweb

Client
Регистрация
04.12.2016
Сообщения
144
Благодарностей
23
Баллы
18
Самый лучший вариант использовать вот такую регулярку:
C#:
[^\S\r\n]+
Она заменит все пробелы и псевдо-пробелы (знаки табуляции и нестандартные пробелы)
Спасибо, хорошая регулярка, даже в конце строк пробелы чистит. Но убивает абсолютно все пробелы, а мне надо оставить одинарные иначе получается мешанина которую еще сложнее разбить на нужные части.
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 167
Благодарностей
2 169
Баллы
113
Спасибо, хорошая регулярка, даже в конце строк пробелы чистит. Но убивает абсолютно все пробелы, а мне надо оставить одинарные иначе получается мешанина которую еще сложнее разбить на нужные части.
так она рассчитана на замену на пробел ({-String.Space-} ). Всякие регулярки для очистки пустых строк, пробелов на границе строк и т .д. в этом открытом шабе предоставлял, но там на C#: Быстрый парсер RU + ENG текстового контента на Get-запросах
 
  • Спасибо
Реакции: gexweb

TwistDanceR

Активный пользователь
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43
Спасибо, хорошая регулярка, даже в конце строк пробелы чистит. Но убивает абсолютно все пробелы, а мне надо оставить одинарные иначе получается мешанина которую еще сложнее разбить на нужные части.
То же самое делается через кубик обработка текста - замена - regex => "\ {1,10" // Вход выход надеюсь сможешь указать)

48010

48011
 
  • Спасибо
Реакции: gexweb

webmasterdual

Client
Регистрация
22.07.2018
Сообщения
5
Благодарностей
2
Баллы
3
Для удаления нескольких пробелов я использую кубик обработка текста, замена по регулярному выражению \ \ \ ?\ ?\ ? на {-String.Space-}, если пробелов у вас встречается больше пяти то к регулярке добавляйте \ ?
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 334
Благодарностей
5 432
Баллы
113
Для удаления нескольких пробелов я использую кубик обработка текста, замена по регулярному выражению \ \ \ ?\ ?\ ? на {-String.Space-}, если пробелов у вас встречается больше пяти то к регулярке добавляйте \ ?
А \s+ не справляется?
 

webmasterdual

Client
Регистрация
22.07.2018
Сообщения
5
Благодарностей
2
Баллы
3
  • Спасибо
Реакции: Mikhail B.

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 538
Благодарностей
8 712
Баллы
113

ShikoFess

Client
Регистрация
21.12.2017
Сообщения
131
Благодарностей
107
Баллы
43
Для удаления нескольких пробелов я использую кубик обработка текста, замена по регулярному выражению \ \ \ ?\ ?\ ? на {-String.Space-}, если пробелов у вас встречается больше пяти то к регулярке добавляйте \ ?
\ {2,} на {-String.Space-} и не надо дописывать если больше 5 пробелов, потому что конструкция {2,} означает 2 или больше. В данном случае если пробелов не будет или будет всего 1 пробел никаких замен не будет, а если 2 или больше то заменит на 1 пробел.
 
  • Спасибо
Реакции: denart и webmasterdual

ShikoFess

Client
Регистрация
21.12.2017
Сообщения
131
Благодарностей
107
Баллы
43
Вообще вот хорошая памятка по регуляркам, особенно если что то не знаешь или забыл.
 

Вложения

  • Спасибо
Реакции: gexweb и webmasterdual

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)