Как обрезать текст по шаблону?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Pavelii
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 13
Зарегистрирован: 07.02.2005 (Пн) 16:36

Как обрезать текст по шаблону?

Сообщение Pavelii » 10.03.2005 (Чт) 11:15

Как мне на бэсике обрезать текст? Например есть строка "Бэсик - лучший из лучших в мире!", причем строка меняется и не всегда она такая, и есть строка которую надо отрезать всегда - "в мире!". В итоге надо получить - "Бэсик - лучший из лучших". Как это можно сделать?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.03.2005 (Чт) 11:28

Открывая топик, я думал, что речь о клиппинге :)

Код: Выделить всё
dim s as string, p as long
s="Бэсик - лучший из лучших в мире!"
p=instr(1,str,"в мире!")-1
if p>0 then msgbox left$(str,p)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Pavelii
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 13
Зарегистрирован: 07.02.2005 (Пн) 16:36

Сообщение Pavelii » 10.03.2005 (Чт) 11:36

спасибо - я уже сделал так:

Replace("Бэсик - лучший из лучших в мире!", "в мире!", "")
покороче получается.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.03.2005 (Чт) 11:46

Так тебе же надо обрезать по первому вхождению.
А если после "в мире!" идёт ещё что-то?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Сообщение Memfivosfey » 10.03.2005 (Чт) 12:06

Pavelii - Шаман верно глаголит....
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 10.03.2005 (Чт) 12:49

Memfivosfey писал(а):Pavelii - Шаман верно глаголит....


В данном случае пофиг - удалятся все вхождения в мире!.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Pavelii
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 13
Зарегистрирован: 07.02.2005 (Пн) 16:36

Сообщение Pavelii » 10.03.2005 (Чт) 13:46

Нет, в моем случае после "в мире!" больше ничего идти не может - эта строка всегра в конце предложения. Спасибо всем откликнувшимся! 8)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.03.2005 (Чт) 13:51

Если она всегда в конце предложения, тогда left$(str, len(str)-len("в мире!")). Но тогда вообще не ясен смысл происходящего :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Pavelii
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 13
Зарегистрирован: 07.02.2005 (Пн) 16:36

Сообщение Pavelii » 10.03.2005 (Чт) 15:03

спасибо и за этот вариант, у меня куча строк и если в нескольких из них встречается искомая строка - то ее надо отрезать, вот и весь смысл :P

Pavelii
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 13
Зарегистрирован: 07.02.2005 (Пн) 16:36

Сообщение Pavelii » 10.03.2005 (Чт) 15:05

Хотя нет - этот вариант не пойдет - не во всех строках же есть "в мире!", а получится, что все обрежутся на конкретную длинну. 8)

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

Сообщение BV » 10.03.2005 (Чт) 22:37

Pavelii писал(а):Хотя нет - этот вариант не пойдет - не во всех строках же есть "в мире!", а получится, что все обрежутся на конкретную длинну. 8)


В таких случаях рекомендую сесть за мануал по VB6 и прочитать его с начала до самого конца :wink:


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

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

Сейчас этот форум просматривают: Google-бот и гости: 58

    TopList  
cron