السلام عليكم ورحمة الله وبركاتة
عندي داتاتابل اقوم بتحميل البيانات اليها اريد حذف اي حرف بالصفوف لاول خلية والحرف لا يوجد بالمصفوفة
اريد تعديل الكود التالي :
بمعني لو عندي خلية بها متغير مثلا a = maged بعد حذف الحروف خارج المصفوفة حيث باقي الحروف غير موجودة بالمصفوفة فتحذف
بمعني اخر الابقاء علي الحروف داخل المصفوفة والباقي يحذف
كود :
Dim chars As Char() = {"a", "s", "v", "t"}
For i = 0 To dt.Rows.Count - 1
DataGrid.Rows.Add(New String() {dt.Rows(i).Item(0).ToString})
Next
السلام عليكم اخي محمد
اولا اشكر الاخ smalw على ماقدمه
ولتنويع الافكار والاكواد اليك هذا الكود
كود :
Dim dd As Char() = {"a", "s", "v", "t"}
Dim dt As New DataTable()
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
For i As Integer = 0 To dt.Rows.Count - 1
' اخي محمد استبدل الرقم صفر برقم العمود الذي تريد تغيير قيمه
For Each c As Char In dt.Rows(i).Item(0).ToString().ToCharArray
If Not dd.Contains(c) Then
dt.Rows(i).Item(0) = dt.Rows(i).Item(0).ToString.Replace(c, "")
End If
Next
Next
End Sub
واليك هذا المثال فيه تلاث حالات (تغيير في مربع نص - تغيير في ليست بوكس- تغيير في داتاتابل)
ارجو ان اكون قد افدتك .... دمت بخير
(16-12-19, 09:14 PM)smalw كتب : [ -> ] (16-12-19, 02:05 PM)محمد اسماعيل كتب : [ -> ]السلام عليكم ورحمة الله وبركاتة
عندي داتاتابل اقوم بتحميل البيانات اليها اريد حذف اي حرف بالصفوف لاول خلية والحرف لا يوجد بالمصفوفة
اريد تعديل الكود التالي :
بمعني لو عندي خلية بها متغير مثلا a = maged بعد حذف الحروف خارج المصفوفة حيث باقي الحروف غير موجودة بالمصفوفة فتحذف
بمعني اخر الابقاء علي الحروف داخل المصفوفة والباقي يحذف
كود :
Dim chars As Char() = {"a", "s", "v", "t"}
For i = 0 To dt.Rows.Count - 1
DataGrid.Rows.Add(New String() {dt.Rows(i).Item(0).ToString})
Next
كود :
For i = 0 To dt.Rows.Count - 1
Dim d = dt.Rows(i).Item(0).ToString
d = Regex.Replace(d, "[^a,s,v,t]", String.Empty, RegexOptions.IgnoreCase)
DataGrid.Rows.Add(New String() {d})
Next
او
كود :
Dim chars As Char() = {"a", "s", "v", "t"}
For i = 0 To dt.Rows.Count - 1
Dim d = dt.Rows(i).Item(0).ToString
d = Regex.Replace(d, "[^" & String.Join(",", chars) & "]", String.Empty, RegexOptions.IgnoreCase)
DataGrid.Rows.Add(New String() {d})
Next
بشكر حضرتك اولا علي المتابعة الكود اكثر من رائع .
عندي طلب بسيط لو في رابط حضرتك للتعابير المنطقيةRegex بحيث اقدر اتعامل مع النوع دة من المشكلات اكون شاكر لحضرتك.
دورة Regular Expression يالعربي
الكود السابق
^ = لا
تعني ليس من هذه الاحرف
فيقوم replace باستبدال [من ليس ضمن هذه الاحرف] ب string.empty وهي مثل ""
كود :
String.Concat(chars)
concat تقوم بتجميع المصفوفه على شكل نص واحد فتصبح "asvt"
(16-12-19, 09:56 PM)ابراهيم ايبو كتب : [ -> ]السلام عليكم اخي محمد
اولا اشكر الاخ smalw على ماقدمه
ولتنويع الافكار والاكواد اليك هذا الكود
كود :
Dim dd As Char() = {"a", "s", "v", "t"}
Dim dt As New DataTable()
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
For i As Integer = 0 To dt.Rows.Count - 1
' اخي محمد استبدل الرقم صفر برقم العمود الذي تريد تغيير قيمه
For Each c As Char In dt.Rows(i).Item(0).ToString().ToCharArray
If Not dd.Contains(c) Then
dt.Rows(i).Item(0) = dt.Rows(i).Item(0).ToString.Replace(c, "")
End If
Next
Next
End Sub
واليك هذا المثال فيه تلاث حالات (تغيير في مربع نص - تغيير في ليست بوكس- تغيير في داتاتابل)
ارجو ان اكون قد افدتك .... دمت بخير
ولك كل الخير انشاء الله .
بشكر حضرتك علي التفاعل
(16-12-19, 10:11 PM)smalw كتب : [ -> ]دورة Regular Expression يالعربي
الكود السابق
^ = لا
تعني ليس من هذه الاحرف
فيقوم replace باستبدال [من ليس ضمن هذه الاحرف] ب string.empty وهي مثل ""
كود :
String.Concat(chars)
concat تقوم بتجميع المصفوفه على شكل نص واحد فتصبح "asvt"
وفيت اخي الكريم اشكرك