Помогите с функцией Replace

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
JWST
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 07.01.2006 (Сб) 21:05

Помогите с функцией Replace

Сообщение JWST » 07.01.2006 (Сб) 21:12

пример такой

Bufer = Replace(Bufer, "Жалко", "Убил бы")

по идее так...

а если у меня написано так Жалко жАлко жалКО ЖАЛКО и т.п. то как сделать, чтобы оно всё равно заменялось. Чтобы не зависило от регистра короче...

Если просто сначала строку перевести в верхний регистр, то мне это не подходит, потому как программа работает с файлами реестра (*.reg) и это иногда для меня не допустимо.

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 07.01.2006 (Сб) 21:31

Ну можно копию строки перевести в верхний регистр, найти все вхождения "ЖАЛКО" и уже из оригинала + координаты вхождения сделать искомую строку
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 07.01.2006 (Сб) 21:31

UpCase, как пишется не помню и может это вообще не из VB :lol: но должна быть подобная функция (сделать все буквы заглавными). Её на буфер и все. Искать лень.

Add Ну вот пока писал...

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 07.01.2006 (Сб) 21:35

Кто ещё не слышал про vbTextCompare?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 07.01.2006 (Сб) 21:39

GAGArin писал(а):(сделать все буквы заглавными)
JWST писал(а):Если просто сначала строку перевести в верхний регистр, то мне это не подходит
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 07.01.2006 (Сб) 21:40

Напиши свою Replace, в которой учти игнорирование регистра букв :)
Нет меня больше

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 07.01.2006 (Сб) 21:49

BV писал(а):Кто ещё не слышал про vbTextCompare?
Век живи... :oops:
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 07.01.2006 (Сб) 21:50

A.A.Z. Уже BV все сказал...
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 07.01.2006 (Сб) 21:54

Да у меня пока отправится, пока обновится... Сам понимаешь :(
Нет меня больше

JWST
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 07.01.2006 (Сб) 21:05

Сообщение JWST » 07.01.2006 (Сб) 21:56

В личной беседе с BV по асе я нашёл то что мне нужно. Для моего примера это будет выглядеть так:

Private Sub Form_Load()
Proba = "Опа ОПа ОпА ОПА опа оПА"
Proba = Replace(Proba, "опа", "вот", , , vbTextCompare)
MsgBox Proba
End Sub

поэтому тему можно закрывать.

Вот пример от самого BV: (по сути тоже самое)

Private Sub Form_Load()
txtText.Text = "Сириус сиРИус сиРиУс СИРиУС сириУс"
txtText.Text = Replace(txtText.Text, "сириус", "Альфа центавра", , , vbTextCompare)
End Sub


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 181

    TopList