PDA

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



yekta64
سه شنبه 31 شهریور 1388, 10:48 صبح
سلام دوستان
من می خوام توی یک رشته سرچ کنم و کاراتر های بعد از @ رو توی یه ارایه بریزم برای این کار کد زیر رو نوشتم ولی جواب نمیده نمی دونم مشکل چی؟



Dim temp1 As New ArrayList
Dim i As Integer
Dim t As Integer
Dim str As String = "INSERT INTO Idea(StdID,QueID,AnsID) VALUES (@b,@c,@d)"
t = str.Length
While (t = 3)
i = InStr(str, "@")
str = Mid(str, i + 1)
Label1.Text = str
temp1.Add(Mid(str, 1, 1))
Label6.Text = temp1(0)
t = str.Length
End While

از طرفی من با شرط حلقه while هم مشکل دارم چه شرطی بذارم که تا اخر رشته این کار رو انجام بده؟

صابر
سه شنبه 31 شهریور 1388, 14:17 عصر
string str = "INSERT INTO Idea(StdID,QueID,AnsID) VALUES (@b,@c,@d)";
string Pattern = @"\@\w";
MatchCollection Matches = Regex.Matches(str, Pattern, RegexOptions.IgnoreCase);
ArrayList arr = new ArrayList();
foreach (Match m in Matches)
arr.Add(m.Value);

yekta64
سه شنبه 31 شهریور 1388, 23:31 عصر
string str = "INSERT INTO Idea(StdID,QueID,AnsID) VALUES (@b,@c,@d)";
string Pattern = @"\@\w";
MatchCollection Matches = Regex.Matches(str, Pattern, RegexOptions.IgnoreCase);
ArrayList arr = new ArrayList();
foreach (Match m in Matches)
arr.Add(m.Value);

مرسی دوست عزیر
من به روش دیگه هم این کارو انجام دادم و به نتیجه رسیدم کد رو قرار می دم امیدوارم برای سایر دوستان مفید باشه




Dim str As String = "INSERT INTO Idea(StdID,QueID,AnsID) VALUES (@fname,@family,@phonenumber)"

Dim i, j, k As Integer

Dim temp As New ArrayList
For k = 0 To 2
i = InStr(str, "@")
str = Mid(str, i + 1)
j = InStr(str, ",")
If j = 0 Then

temp.Add(Mid(str, 1, str.Length - 1))
Else

temp.Add(Mid(str, 1, j - 1))
End If

Next

TextBox1.Text = temp.Count()
For i = 0 To temp.Count() - 1
TextBox2.Text = TextBox2.Text & Space(2) & temp(i)
Next