PDA

View Full Version : جستجو در رشته



project80888
جمعه 07 بهمن 1390, 10:02 صبح
سلام دوستان
نیاز به کدی دارم که بین از ایندکس 0 تا یک کلمه را برای من جستجو کنه
و مابین این دو را نمایش بده تا حدی تونستم بنویسم
مشکل من در تشخیص حروف کوچک و بزرگه

Public Function GetBetween(ByVal haystack As String, ByVal needle As String, ByVal needle_two As String) As String
Dim istart As Integer = InStr(haystack, needle)
If istart > 0 Then
Dim istop As Integer = InStr(istart, haystack, needle_two)
If istop > 0 Then
Dim value As String = haystack.Substring(istart + Len(needle) - 1, istop - istart - Len(needle))
Return value
End If
End If
Return Nothing
End Function




اینم فرا خوانی اون


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim FindIt As String = GetBetween(txtquery.Text, "select ", "where")
MessageBox.Show(FindIt)
End Sub


به نظر شما راهی وجود داره که بین Where کوچک یا بزرگ تفاوتی قائل نشود

project80888
جمعه 07 بهمن 1390, 10:03 صبح
Public Function GetBetween(ByVal haystack As String, ByVal needle As String, ByVal needle_two As String) As String
Dim istart As Integer = InStr(haystack, needle)
If istart > 0 Then
Dim istop As Integer = InStr(istart, haystack, needle_two)
If istop > 0 Then
Dim value As String = haystack.Substring(istart + Len(needle) - 1, istop - istart - Len(needle))
Return value
End If
End If
Return Nothing
End Function

project80888
جمعه 07 بهمن 1390, 10:04 صبح
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim FindIt As String = GetBetween(txtquery.Text, "select ", "where")
MessageBox.Show(FindIt)
End Sub

shadi khanum
جمعه 07 بهمن 1390, 10:50 صبح
واسه اینکه بین حروف کوچیک و بزرگ تفاوتی قائل نشه ، هر جا که String با هم مقایسه میکنی یا هر دو تا متغیر string رو اول .ToUpper کن یا .ToLower و بعد با هم مقایسه کن.اینجوری دیگه فرقی بین حروف بزرگ و کوچیک نمیذاره

project80888
جمعه 07 بهمن 1390, 10:52 صبح
ممنون
نه تنوستم حلش کنم


Dim upperstr As String = txtquery.Text.ToUpper
If upperstr.Contains("WHERE") Then
Dim indexofFrom As Integer = upperstr.IndexOf("FROM", 0)
Dim index As Integer = upperstr.IndexOf("WHERE", indexofFrom)
Dim str As String = txtquery.Text.Substring(0, index)
MessageBox.Show(str)
End If