Работа со String

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

11BOSS11

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

morpheus

скриптописец
07.08.2006
3 915
1
#3
StrLeft
StrRight

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

11BOSS11

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

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

11BOSS11

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


Код:
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

Что это ? :)
Lotus team
10.12.2004
3 346
1
#10
Проще, как уже сказали, сделать Split и взять четные элементы. Программа на 5 строк.
 

hosm

* so what *
18.05.2009
2 442
6
#11
только если кол-во элементов по сплиту четное, то последний брать не надо (есть только начальный символ @, нет закрывающегося)
 

Xalet

Well-known member
08.08.2008
410
0
#12
Код:
	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
в массив сам загонишь
 
Статус
Закрыто для дальнейших ответов.