TextBox Replace - أسامة - 15-03-16
اريد تغير كل الاحرف الى و الارقم الى رقم او حرف معين و الاشكال الى شكل معين
مثلآ لو التكس فيها 4AS E5T E65 Z7S يتم تغيرهم الى مثلآ 8 حسب عدد المجموعات بمعنى 4AS = المجموعة الاول يتم تغير 4AS الى مثلآ 8 و E5T الى 8 و E65 الى 8 و Z7S الى 8 مع ازالة الفراغ النتج 8888 و اذا كان بهذا الشكل 4AS #$)/ +=-~ Z7S
يتغير الى هذا 8**8
RE: TextBox Replace - myalsailamy - 15-03-16
اتمنى اني فهمتك كويس //
كود :
Dim result As String = ""
Dim TargetGroups() As String = New String() {"4AS", "E5T", "E65", "Z7S"}
Dim strGroups() As String = TextBox1.Text.Split(" ")
If strGroups.Length > 0 Then
For Each Group As String In strGroups
If TargetGroups.Contains(Group.Trim) = True Then
result += "8"
Else
result += "*"
End If
Next
End If
TextBox2.Text = result
RE: TextBox Replace - أسامة - 16-03-16
(15-03-16, 11:10 PM)myalsailamy كتب : اتمنى اني فهمتك كويس //
كود :
Dim result As String = ""
Dim TargetGroups() As String = New String() {"4AS", "E5T", "E65", "Z7S"}
Dim strGroups() As String = TextBox1.Text.Split(" ")
If strGroups.Length > 0 Then
For Each Group As String In strGroups
If TargetGroups.Contains(Group.Trim) = True Then
result += "8"
Else
result += "*"
End If
Next
End If
TextBox2.Text = result
جزاك الله خير اخى لاكن يوجد مشكلة ان 4AS", "E5T", "E65", "Z7S متغير على حسب التكست فى التكست بوكس يعنى ممكن يكون WTY 78Z 49Q XCF FG8 9WG الا يوجد حل لهذا ؟يمكن بهذه الطريقة تقسيم التكست كل مجموعة تحتوى على 3 حروف اة حروف و ارقام او ... لاكن كيف !
RE: TextBox Replace - أسامة - 16-03-16
تم حل مشكلة المجموعة بهذا الكود
كود :
Dim buffer As String = [String].Empty
For i As Integer = 0 To TextBox1.Text.Length - 1 Step 4
If TextBox1.Text.Length - i > 4 Then
buffer += TextBox1.Text.Substring(i, 4) & " "
Else
buffer += TextBox1.Text.Substring(i)
End If
Next
TextBox2.Text = buffer
الان كيف تغير كل مجموعة تملك ارقام و احرف الى 8 و مجموعة التى تحتوى على اشكال الى * عندى الفكرة هكذا اذا كانت تحتوى المجموعة على احرف و ارقام (a-z^1-9) كل مجموعة = 8 لو 4 مجاميع = 8888 لو ثلاث مجاميع و مجموعة اشكال = 88*8 على حسب الترتيب ممكن باستخدام Regex.Match مثل هذا Dim regex As New Regex("^[a-z0-9A-Z]{4}-[a-z0-9A-Z]{4}-[a-z0-9A-Z]{4}")
Dim TargetGroups() As String = New String() {regex.ToString}
RE: TextBox Replace - myalsailamy - 16-03-16
للاسف لم افهمك سابقا ،، على العموم عدلته الان ان شاء الله يكون المطلوب
كود :
Dim SourceText As String = "WTY 78Z 49Q #@d XCF FG8 9WG"
Dim oRegularExpressions As New System.Text.RegularExpressions.Regex("^[A-Za-z0-9]+$")
Dim result As String = ""
Dim strGroups() As String = SourceText.Split(" ")
If strGroups.Length > 0 Then
For Each Group As String In strGroups
Dim matchlist As MatchCollection = oRegularExpressions.Matches(Group)
If matchlist.Count > 0 Then
result += "8"
Else
result += "*"
End If
Next
End If
TextBox2.Text = result
RE: TextBox Replace - أسامة - 16-03-16
(16-03-16, 03:52 AM)myalsailamy كتب : للاسف لم افهمك سابقا ،، على العموم عدلته الان ان شاء الله يكون المطلوب
كود :
Dim SourceText As String = "WTY 78Z 49Q #@d XCF FG8 9WG"
Dim oRegularExpressions As New System.Text.RegularExpressions.Regex("^[A-Za-z0-9]+$")
Dim result As String = ""
Dim strGroups() As String = SourceText.Split(" ")
If strGroups.Length > 0 Then
For Each Group As String In strGroups
Dim matchlist As MatchCollection = oRegularExpressions.Matches(Group)
If matchlist.Count > 0 Then
result += "8"
Else
result += "*"
End If
Next
End If
TextBox2.Text = result
شكرآ هذا هو المطلوب ربنا يزيدك من علمه
|