منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
(تم الحل) استخراج الارقام من نص - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : (تم الحل) استخراج الارقام من نص (/showthread.php?tid=4781)



(تم الحل) استخراج الارقام من نص - barakascap - 02-10-12

السلام عليكم
لدى نص يمكن ان يكون باحد الاشكال التالية
(222tt33)
(22re333)
(22yy012)
(22qq001)
المطلوب
كيف احصل على مجموع الارقام الثانية اى بعد الحروف
فى حالة بداية الرقم ب 0 او 00 كيف احصل على الرقم بدون ال 0 او 00
مع مراعاة ان الحروف والارقام جملة واحدة بدون مسافات


(تم الحل) استخراج الارقام من نص - سعود - 02-10-12

ان شالله يجي احد يساعدك
الكود التالي يظهر كل الارقام فقط
كود :
Dim p As String = TextBox1.Text
        For Each i In p
            If IsNumeric(i) Then
                ListBox1.Items.Add(i)

            End If
        Next



(تم الحل) استخراج الارقام من نص - Easy4ever - 02-10-12

سأعدل تعديل بسيط على كود الأخ سعود
أتبع الخطوات التالية :-

1- إنشئ فورم جديد وضع فيه Textbox1 + Textbox2 + Button1 .
2- في حدث Button1_Click ضع الكود التالي :


كود :
[SIZE=4][b]TextBox2.Text = [color=#800000]""[/color]
[/b][/SIZE][SIZE=4][b][color=#0000ff]Dim [/color]p [color=#0000ff]As String[/color] = TextBox1.Text[/b][/SIZE]
[SIZE=4][b][color=#0000ff]Dim [/color]G [color=#0000ff]As Boolean[/color] =[color=#0000ff] False[/color][/b][/SIZE]
[SIZE=4][b][color=#0000ff]For Each[/color] i [color=#0000ff]In[/color] p[/b][/SIZE]
[SIZE=4][b][color=#0000ff]If[/color] IsNumeric(i) [color=#0000ff]And[/color] G = [color=#0000ff]True Then[/color][/b][/SIZE]
[SIZE=4][b][color=#0000ff]If[/color] i = [color=#800000]"0"[/color] [color=#0000ff]And[/color] TextBox2.Text = [color=#800000]""[/color] [color=#0000ff]Then[/color][/b][/SIZE]

[color=#0000ff][SIZE=4][b]Else[/b][/SIZE][/color]
[SIZE=4][b]TextBox2.Text &= i[/b][/SIZE]

[color=#0000ff][SIZE=4][b]End If[/b][/SIZE][/color]
[color=#0000ff][SIZE=4][b]Else[/b][/SIZE][/color]
[SIZE=4][b][color=#0000ff]If Not[/color] IsNumeric(i) [color=#0000ff]Then[/color][/b][/SIZE]
[SIZE=4][b]G = [color=#0000ff]True[/color][/b][/SIZE]
[COLOR=#0000ff][SIZE=4][b]End If[/b][/SIZE]
[SIZE=4][b]End If[/b][/SIZE]
[SIZE=4][b]Next[/b][/SIZE][/COLOR]

3- نفذ البرنامج وأكتب النص في Textbox1 واضغط على Button1 وسترى النتيجة في Textbox2 .



(تم الحل) استخراج الارقام من نص - barakascap - 02-10-12

شكرا لك اخى
لكن الكود يعطى كل رقم على حده او بالاحرى يعطينى ماهى الارقلا الموجود داخل النص
وما اريده ان يتم استخلاص الرقم قبل الحروف وبعدها كل على حده


(تم الحل) استخراج الارقام من نص - Easy4ever - 02-10-12

الكود الأعلى يتم أستخلاص الأرقام بعد الأحرف وإذا كان يبدأ برقم 0 لا يستخرجه حسب ماطلبت :confused:

barakascap كتب :
كيف احصل على مجموع الارقام الثانية اى بعد الحروف
فى حالة بداية الرقم ب 0 او 00 كيف احصل على الرقم بدون ال 0 او 00
مع مراعاة ان الحروف والارقام جملة واحدة بدون مسافات



(تم الحل) استخراج الارقام من نص - Easy4ever - 02-10-12

barakascap كتب :وما اريده ان يتم استخلاص الرقم قبل الحروف وبعدها كل على حده

اتبع الخطوات التالية لأستخراج الأرقام ماقبل الاحرف وبعده :-

1- أفتح فورم جديد وضع الأدوات التالية
Textbox1 + Textbox2 + Textbox3 + Button1
2- في حدث Button1_Click ضع الكود التالي :

كود :
[b]TextBox2.Text = [color=#b22222]""[/color][/b]
[SIZE=4][b]TextBox3.Text = [color=#b22222]""[/color][/b][/SIZE]
[SIZE=4][b][color=#0000ff]Dim[/color] p [color=#0000ff]As String[/color] = TextBox1.Text[/b][/SIZE]
[SIZE=4][b][color=#0000ff]Dim [/color]G [color=#0000ff]As Boolean[/color] = [color=#0000ff]False[/color][/b][/SIZE]

[SIZE=4][b][color=#0000ff]For Each[/color] i [color=#0000ff]In[/color] p[/b][/SIZE]
[SIZE=4][b][color=#0000ff]If[/color] IsNumeric(i) [color=#0000ff]And[/color] G = [color=#0000ff]True Then[/color][/b][/SIZE]
[SIZE=4][b][color=#0000ff]If[/color] i = [color=#b22222]"0"[/color] [color=#0000ff]And[/color] TextBox3.Text = [color=#b22222]""[/color] [color=#0000ff]Then[/color][/b][/SIZE]
[color=#0000ff][SIZE=4][b]Else[/b][/SIZE][/color]
[SIZE=4][b]TextBox3.Text &= i[/b][/SIZE]
[color=#0000ff][SIZE=4][b]End If[/b][/SIZE][/color]

[SIZE=4][b][color=#0000ff]ElseIf[/color] IsNumeric(i)[color=#0000ff] And[/color] G =[color=#0000ff] False Then[/color][/b][/SIZE]
[SIZE=4][b][color=#0000ff]If[/color] i =[color=#b22222] "0"[/color] [color=#0000ff]And[/color] TextBox2.Text =[color=#b22222] ""[/color] [color=#0000ff]Then[/color][/b][/SIZE]
[color=#0000ff][SIZE=4][b]Else[/b][/SIZE][/color]
[SIZE=4][b]TextBox2.Text &= i[/b][/SIZE]
[color=#0000ff][SIZE=4][b]End If[/b][/SIZE][/color]

[color=#0000ff][SIZE=4][b]Else[/b][/SIZE][/color]
[SIZE=4][b][color=#0000ff]If Not[/color] IsNumeric(i)[color=#0000ff] Then[/color][/b][/SIZE]
[SIZE=4][b]G = [color=#0000ff]True[/color][/b][/SIZE]
[color=#0000ff][SIZE=4][b]End If[/b][/SIZE][/color]
[color=#0000ff][SIZE=4][b]End If[/b][/SIZE][/color]
[color=#0000ff][b]Next[/b][/color]





3- نفذ البرنامج وأكتب النص في Textbox1 واضغط على Button1 وسترى النتيجة في Textbox2 و Textbox3
حيث ان Textbox2 سيعرض الأرقام قبل الأحرف باستثناء رقم 0 الذي يكون في البداية
و Textbox3 سيعرض الأرقام بعد الأحرف باستثناء رقم 0 الذي يكون في البداية



(تم الحل) استخراج الارقام من نص - barakascap - 02-10-12

شكرا كده تمام


(تم الحل) استخراج الارقام من نص - aftfm - 02-10-12

جرب هذا الكود قد يفيدك


PHP كود :
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        Dim a 
As String
        a 
ExtractNumbers(Me.TextBox1.Text)
        
Me.TextBox2.Text = (a)
    
End Sub

    Shared 
Function ExtractNumbers(ByVal expr As String) As String
        
Return String.Join(NothingSystem.Text.RegularExpressions.Regex.Split(expr"[^\d]"))
    
End Function 



(تم الحل) استخراج الارقام من نص - m.sami.ak - 02-10-12

تم ايجاد الحل المناسب