С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 29.06.2012
Сообщений: 29

Удаление начальных пробелов в Мемо

29.06.2012, 15:06. Показов 2358. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как это сделать, пробовал просто заменой, но при попытке замены "\r\n " на "\r\n" ничего не происходит, а Трим удаляет только в начале и конце файла(( может есть какой-то символ начала строки?

з.ы. embracadero rad studio XE
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.06.2012, 15:06
Ответы с готовыми решениями:

Удаление непечатаемых символов из Мемо
Всем привет ) Вот такой вот трабл. Есть кнопка на добавление файл, добавляю его (в моем случае нужно только ШТМЛ файлы) и вывожу его в...

Удаление нужных пробелов в тексте
В общем проблема: есть текста, где после каждой буквы пробел, почти все слова с большой буквы, нужно привести его в нормальный вид. Думал...

Удаление начальных пробелов на С
Программа просит ввести строку символов , если в начале предложения есть пробелы программа удаляет эти пробелы и выводит введенную нами...

12
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.06.2012, 15:17
Так начальных символов или двойных или вообще всех?
Пример приведите.
0
1 / 1 / 0
Регистрация: 29.06.2012
Сообщений: 29
29.06.2012, 15:22  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Так начальных символов или двойных или вообще всех?
Пример приведите.
Начальных только:
__111
_111
___333
111
где _ это пробел должно стать:
111
111
333
111

вот где-то так)
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.06.2012, 15:36
А разница в чем?

Добавлено через 5 минут
Вот к примеру замена на "-"

C++
1
2
3
4
5
6
7
8
9
10
#include <string>
#include <boost/regex.hpp>
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
boost::wregex wre(L"\\r\\n");
std::wstring ws= Memo1->Text.w_str();
ws= boost::regex_replace(ws,wre,L"-");
Memo1->Text= ws.c_str();
}
Добавлено через 6 минут
где _ это пробел должно стать:
Так пробел или символ конца строки?
0
1 / 1 / 0
Регистрация: 29.06.2012
Сообщений: 29
29.06.2012, 15:40  [ТС]
Просто убрать пробелы в начале строк

Делал так - не помогло:

C++
1
2
3
4
5
6
7
AnsiString word4 = "\r\n ";
int int_pos4;
while(Memo1->Text.Pos(word4)) {
    int_pos4 = Memo1->Text.Pos(word4);
    Memo1->SelStart=int_pos4-1;
    Memo1->SelLength=word4.Length();
    Memo1->SetSelText("\r\n");  }
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.06.2012, 15:40
"\r\n" - это возврат каретки и новая строка - не пробел

Если пробелы то:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <string>
#include <boost/regex.hpp>
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
boost::wregex wre(L"^\\s+");
std::wstring ws= Memo1->Text.w_str();
ws=boost::regex_replace(ws,wre,L"");
Memo1->Text = ws.c_str();
}
//---------------------------------------------------------------------------
1
1 / 1 / 0
Регистрация: 29.06.2012
Сообщений: 29
29.06.2012, 15:45  [ТС]
Спасибо, помогло)

а можете обьяснить вот эту строчку:
C++
1
boost::wregex wre(L"^\\s+");
точнее именно то что в скобках)
0
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
29.06.2012, 15:45
Цитата Сообщение от Esser Посмотреть сообщение
Начальных только:
__111
_111
___333
111
где _ это пробел должно стать:
111
111
333
111

вот где-то так)
если именно такой формат записи будет, то можно так:
C++
1
2
3
4
for (int i = 0; i<Memo1->Lines->Count; i++)
{
Memo1->Lines->Strings[i] = StringReplace(Memo1->Lines->Strings[i], " ", "", TReplaceFlags()<<rfReplaceAll);
}
0
1 / 1 / 0
Регистрация: 29.06.2012
Сообщений: 29
29.06.2012, 15:47  [ТС]
в моем случае это большие тексты, так что все пробелы убирать не вариант) то был просто как пример)
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.06.2012, 15:47
Цитата Сообщение от Esser Посмотреть сообщение
Спасибо, помогло)
а можете обьяснить вот эту строчку:
C++
1
boost::wregex wre(L"^\\s+");
точнее именно то что в скобках)
Регулярное выражение:
^ -начало строки
\\s - пробельный символ
+ - один и более раз
0
1 / 1 / 0
Регистрация: 29.06.2012
Сообщений: 29
29.06.2012, 17:59  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
"\r\n" - это возврат каретки и новая строка - не пробел
знаю, просто до этого таким способом убирал конечные пробелы, там же "\r\n_" )

Добавлено через 2 часа 9 минут
Цитата Сообщение от Avazart Посмотреть сообщение
#include <string>
#include <boost/regex.hpp>
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
boost::wregex wre(L"^\\s+");
std::wstring ws= Memo1->Text.w_str();
ws=boost::regex_replace(ws,wre,L"");
Memo1->Text = ws.c_str();
}
а как сделать что б оно не удаляло пустых строк?

просто из текста:
__фффф_фф_фф

_фф_фф_ф
фф_ф

Оно делает:
фффф_фф_фф
фф_фф_ф
фф_ф
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.06.2012, 18:04
C++
1
2
3
4
5
6
7
8
9
10
#include <string>
#include <boost/regex.hpp>
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
boost::wregex wre(L"^ +"); // пробел между ^ и +
std::wstring ws= Memo1->Text.w_str();
ws=boost::regex_replace(ws,wre,L"");
Memo1->Text = ws.c_str();
}
1
1 / 1 / 0
Регистрация: 29.06.2012
Сообщений: 29
29.06.2012, 18:21  [ТС]
Спасиб, самое оно=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.06.2012, 18:21
Помогаю со студенческими работами здесь

Удаление начальных и конечных пробелов в строке
Доброго времени суток! Задание: предложите 2 вар-та функции, удаляющие начальные и концевые пробелы в строке. шапка: #include...

Программа удаления начальных пробелов
Всем здравствуйте! Мучался со строками в СИ++. В задаче нужно было удалить начальные пробелы. Пробовал сам - никак. Можете объяснить...

Замена начальных пробелов подчерками
Есть текстовый файл. Надо заменить пробелы в начале каждой строки подчерками. Использую утилиту sed.exe. Не мог придумать ничего лучшего,...

Добавление начальных пробелов в поле Memo
Был как-то вопрос-можно ли при нажатии клавиши Enter не только переходить на новую строку в поле Memo, но и добавлять начальные пробелы?...

Создание программы со своей библиотекой ( удаление элементов с N по M в строке и удаление лишних пробелов(если 2 и более оставить один))
добрый день. помогите, пожалуйста понять мои ошибки в работе. Мне нужно написать программу со своей библиотекой, которая включает в себя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru