найти позицию последнего слэша в строке

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

найти позицию последнего слэша в строке

Сообщение fomkatya » 12.12.2003 (Пт) 5:17

как найти позицию последнего слэша в строке, если знаешь сколько их встречается

test = '/anp/'

len(test) - len(REPLACE(test, '/','') возвращает 2 (количество встречающихся /)

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

Сообщение GSerg » 12.12.2003 (Пт) 9:07

RTFM!
InStrRev
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 12.12.2003 (Пт) 13:28

Код: Выделить всё
Dim p As Integer
p = InStrRev(myString, "/")
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Enigmus
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 23.01.2004 (Пт) 17:30
Откуда: Комсомольск-на-

Сообщение Enigmus » 25.01.2004 (Вс) 15:24

Добавь в форму Text1, Text2 и Command1.
В процедуре Command1_Click() напиши:
For i = 1 to Len(Text1.Text)
slash = Mid$(Text1.Text, Len(Text1.Text) - i + 1, 1)
If slash = "\" then
Text2.Text = "Позиция последнего слэша: " & i
End If
Надеюсь, помог. :wink:

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 25.01.2004 (Вс) 21:27

enigmus! Ты в ближайший магазин тоже за хлебом через Владивосток катаешься? InstrRev - единственный ответ.

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 26.01.2004 (Пн) 12:27

Enigmus писал(а):Добавь в форму Text1, Text2 и Command1.
В процедуре Command1_Click() напиши:
For i = 1 to Len(Text1.Text)
slash = Mid$(Text1.Text, Len(Text1.Text) - i + 1, 1)
If slash = "" then
Text2.Text = "Позиция последнего слэша: " & i
End If
Надеюсь, помог. :wink:

Мы не ищем легких путей... :lol:

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 26.01.2004 (Пн) 12:55

Хотя я б сделал проще, если уж нужен цикл:

Код: Выделить всё
for i = len(text1.text) to 1 step -1
if mid(text1.text,i,1)="\" then exit for
next i
msgbox "Last slash at " & i


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

    TopList