Удалить пробелы, которые идут более 2-х раз подряд?

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Благодарностей
10
Баллы
8
Здравствуйте. Подскажите как регуляркой можно удалить только те пробелы, которые идут более 2-х раз подряд?
Использую такое:
Код:
<[^>]+>
\r|\n
(?m)^\s+|\s+$
Первое удаляем html. Второе чистим все пробелы, что бы получить чистый текст.
Но иногда прослеживаются по 5 пробелов, в середине и в начале текста.
 
Последнее редактирование:
  • Спасибо
Реакции: udder

kagorec

Client
Регистрация
24.08.2013
Сообщения
979
Благодарностей
523
Баллы
93
[\s]{2,} заменить на один пробел
 

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Благодарностей
10
Баллы
8

kagorec

Client
Регистрация
24.08.2013
Сообщения
979
Благодарностей
523
Баллы
93
^[\s\r\n]*(.*?)[\s\r\n]*$ заменить на $1
Убирает пробелы и пустые переходы строк спереди и в конце (если таковые были)
 

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Благодарностей
10
Баллы
8
  • Спасибо
Реакции: Sergodjan

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Для чистки текста от пробелов в начале и конце (или своих символов) стоит использовть Trim (обработка текста)
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
C#:
//переменая в которой текст
var response = project.Variables["Response"].Value;

return Regex.Replace(response, " {2,}", " ").Trim();
 

Folt

Client
Регистрация
16.12.2016
Сообщения
71
Благодарностей
11
Баллы
8
C#:
//переменая в которой текст
var response = project.Variables["Response"].Value;

return Regex.Replace(response, " {2,}", " ").Trim();
Спасибо! А как сделать обратное? Имею ввиду если мне нужно добавить несколько пробелов в переменную?
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113

Folt

Client
Регистрация
16.12.2016
Сообщения
71
Благодарностей
11
Баллы
8
Есть переменная в которую нужно добавить в начало 3 пробела.
Как это сделать?
 

nomer8

Client
Регистрация
29.09.2009
Сообщения
14
Благодарностей
4
Баллы
3
Есть переменная в которую нужно добавить в начало 3 пробела.
Как это сделать?
Обработка текста -> в переменную -> вставляешь переменную, перед переменной ставишь пробелы, сохраняешь в ту же переменную.
 

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
69
Баллы
28
[^\S\r\n]+ это лучше всех) меняем на пробел
 

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
более 2-х раз подряд
Примерно так:
C#:
string input = "Привет   мир!   Как   дела?";
string pattern = @"\s{3,}";
string replacement = " ";

string result = Regex.Replace(input, pattern, replacement);
project.SendInfoToLog(result,true); // Привет мир! Как дела?
 

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