PDA

View Full Version : جستجو در تکست



talent1
چهارشنبه 11 تیر 1393, 17:29 عصر
یه تکست دارم که و میخوام متنی رو توش جستجو کنم و بیارم توی یه لیست
مثلا تو تکست نوشته ali {farshad} ali 021 {ali} db
بعد تو لیست اینا بیاد
{farshad}
{ali}

یعنی به برنامه بگیم که هرچی بین {} هست بیاره تو لیست

باید چیکار کنم ؟ :افسرده:

talent1
پنج شنبه 12 تیر 1393, 09:02 صبح
تو vb6 همچین کاری میکردیما ولی توی Vb.net نمیدونم چجوریه ؟

Private Function SearchInSTR(ByVal HTMLFile As String, ByVal List As ListBox)
Dim EndLinkPosition As Long, StartLinkPosition As Long
Dim CurrentLink As String

'ÞÑÇÑ ÏÇÏä ãæÞÚíÊ ÔÑæÚ ÌÓÊÌæ ÏÑ Çæá ÑÔÊå
EndLinkPosition = 0

Do While InStr(EndLinkPosition + 1, HTMLFile, ".blogfa.com") <> 0
'íÏÇ ˜ÑÏä ÇäÊåÇí áíä˜
CurrentLink = InStr(EndLinkPosition + 1, HTMLFile, ".blogfa.com")
EndLinkPosition = CurrentLink

If EndLinkPosition <> 0 Then
'ÐÎíÑå ãí ÑÏÏ EndLinkPosition íÏÇ ˜ÑÏä ÇÈÊÏÇí áíä˜ ÇÒ ÂÎÑíä ãæÞÚíÊ íÏÇ ÔÏä ÇäÊåÇí áíä˜ Èå ÞÈá ˜å ÏÑ ãÊÛíÑ
CurrentLink = InStrRev(HTMLFile, "http://", EndLinkPosition)
StartLinkPosition = CurrentLink

'Øæá áíä˜= ãæÞÚíÊ ÇäÊåÇí áíä˜ - ãæÞÚíÊ ÇÈÊÏÇí áíä˜ + Øæá ÚÈÇÑÊ ÏÇÊ ÈáǐÝÇ ÏÇÊ ˜Çã ˜å 11 ãí ÈÇÔÏ
List.AddItem Mid(HTMLFile, CurrentLink, (EndLinkPosition - StartLinkPosition) + 11)
End If
Loop
End Function


Private Sub Search_Click()
Call SearchInSTR(Text1, List1)
End Sub

talent1
پنج شنبه 12 تیر 1393, 09:26 صبح
دوستان من کدش رو پیدا کردم فقط یه توی حلقش مشکل دارم اگه میه حلقس رو برام بنویسید
چون تازه از vb6 اومدم زیاد بلد نیستم



Dim myStartIndex As Integer = (TextBox1.Text.IndexOf("{")) + 1

Dim myEndIndex As Integer = (TextBox1.Text.IndexOf("}"))

Dim myStringLengthToExtract As Integer = myEndIndex - myStartIndex

ListBox1.Items.Add(TextBox1.Text.Substring(myStart Index, myStringLengthToExtract))

aliagamon
پنج شنبه 12 تیر 1393, 14:01 عصر
از Regex استفاده کنید بهتره:

Dim str As String = "ali {farshad} ali 021 {li} db"
Dim mtch As System.Text.RegularExpressions.MatchCollection = System.Text.RegularExpressions.Regex.Matches(str, "\{([^}]*)\}")
For Each match As System.Text.RegularExpressions.Match In mtch
ListBox1.Items.Add(match.Value)
Next