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

liveCreature

Пользователь
Регистрация
22.01.2017
Сообщения
87
Реакции
10
Баллы
8
Здравствуйте. Подскажите как регуляркой можно удалить только те пробелы, которые идут более 2-х раз подряд?
Использую такое:
Код:
Развернуть Свернуть Копировать
<[^>]+>
\r|\n
(?m)^\s+|\s+$
Первое удаляем html. Второе чистим все пробелы, что бы получить чистый текст.
Но иногда прослеживаются по 5 пробелов, в середине и в начале текста.
 
Последнее редактирование:
  • Оценить
Реакции: udder
^[\s\r\n]*(.*?)[\s\r\n]*$ заменить на $1
Убирает пробелы и пустые переходы строк спереди и в конце (если таковые были)
 
^[\s\r\n]*(.*?)[\s\r\n]*$ заменить на $1
Убирает пробелы и пустые переходы строк спереди и в конце (если таковые были)
Спасибо. Сделал так:
Код:
Развернуть Свернуть Копировать
^\s+
Заменил на пустоту :)
 
  • Оценить
Реакции: Sergodjan
C#:
Развернуть Свернуть Копировать
//переменая в которой текст
var response = project.Variables["Response"].Value;

return Regex.Replace(response, " {2,}", " ").Trim();
 
C#:
Развернуть Свернуть Копировать
//переменая в которой текст
var response = project.Variables["Response"].Value;

return Regex.Replace(response, " {2,}", " ").Trim();
Спасибо! А как сделать обратное? Имею ввиду если мне нужно добавить несколько пробелов в переменную?
 
Есть переменная в которую нужно добавить в начало 3 пробела.
Как это сделать?
 
Есть переменная в которую нужно добавить в начало 3 пробела.
Как это сделать?
Обработка текста -> в переменную -> вставляешь переменную, перед переменной ставишь пробелы, сохраняешь в ту же переменную.
 
[^\S\r\n]+ это лучше всех) меняем на пробел
 
более 2-х раз подряд
Примерно так:
C#:
Развернуть Свернуть Копировать
string input = "Привет   мир!   Как   дела?";
string pattern = @"\s{3,}";
string replacement = " ";

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

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