• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Работа со String

  • Автор темы 11BOSS11
  • Дата начала
Статус
Закрыто для дальнейших ответов.
1

11BOSS11

Есть строковая переменная , допустим: "Рложрфды оыдлав оывдал оыаж @ывфа@ @выа@ ыва #ыва#"
как мне достать отсюда все подстроки выделенные @@ и ##..........
 
M

morpheus

StrLeft
StrRight

split ещё можно - тогда получим массив
 
1

11BOSS11

ум , впринципе не все так просто!......

сплит просто режет все на куски , .. если есть "ылрда@sfd@ @sf@ @sfd@" он выдас "тылрда" , "sfd"," ", "sf", "sfd" , ....
а мне надо @sfd@, @sf@, @sfd@, //
вот..........
может кто кодом поможет?........... :eek:fftop:
 
1

11BOSS11

вот пробую как то так сделать.........какая то ф...ня получаетсО................
помогите пожалуйстС найти ошибку..........


Код:
Sub Initialize
Dim stroka As String


stroka=" jsadjsf dshkfj d @sdfkl@ jlsdfj@ds@ dkjsf@@		 @sdf@	"
k=0

For i=1 To Len(stroka)
If Right(Left(stroka, i),1)="@" Then
k=k+1
End If
Next

k1=k / 2
Redim masS(k1) As String

'формируем масив позицый собак
Redim masA(k) As Integer
j=1
For i=1 To Len(stroka)
If Right(Left(stroka, i),1)="@" Then
masA(j)=i
j=j+1
End If
Next
'берем по парам и создаем масив строк
f=1
For i=1 To k1
masS(i)= Right(Left(stroka, masA(f+1)),masA(f))

f=f+2
Next

Print сть
End Sub
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Проще, как уже сказали, сделать Split и взять четные элементы. Программа на 5 строк.
 
H

hosm

только если кол-во элементов по сплиту четное, то последний брать не надо (есть только начальный символ @, нет закрывающегося)
 
X

Xalet

Код:
	Dim stroka As String
Dim pos As Integer
Dim tStr As String

stroka = " jsadjsf dshkfj d @sdfkl@ jlsdfj@ds@ dkjsf@@		 @sdf@	"

While stroka <> "" 
pos = Instr(stroka,"@")
If pos <> 0 Then
stroka = Right(stroka,Len(stroka)-pos)
pos = Instr(stroka,"@")
If pos <> 0 Then
tStr = Left(stroka,pos-1)
Msgbox tStr
stroka = Right(stroka,Len(stroka)-pos)
Else 
stroka = ""
End If
Else
stroka = ""
End If
Wend

в массив сам загонишь
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!