منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : (تم الحل) استخراج الارقام من نص
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
لدى نص يمكن ان يكون باحد الاشكال التالية
(222tt33)
(22re333)
(22yy012)
(22qq001)
المطلوب
كيف احصل على مجموع الارقام الثانية اى بعد الحروف
فى حالة بداية الرقم ب 0 او 00 كيف احصل على الرقم بدون ال 0 او 00
مع مراعاة ان الحروف والارقام جملة واحدة بدون مسافات
ان شالله يجي احد يساعدك
الكود التالي يظهر كل الارقام فقط
كود :
Dim p As String = TextBox1.Text
        For Each i In p
            If IsNumeric(i) Then
                ListBox1.Items.Add(i)

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

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 .
شكرا لك اخى
لكن الكود يعطى كل رقم على حده او بالاحرى يعطينى ماهى الارقلا الموجود داخل النص
وما اريده ان يتم استخلاص الرقم قبل الحروف وبعدها كل على حده
الكود الأعلى يتم أستخلاص الأرقام بعد الأحرف وإذا كان يبدأ برقم 0 لا يستخرجه حسب ماطلبت :confused:

barakascap كتب :
كيف احصل على مجموع الارقام الثانية اى بعد الحروف
فى حالة بداية الرقم ب 0 او 00 كيف احصل على الرقم بدون ال 0 او 00
مع مراعاة ان الحروف والارقام جملة واحدة بدون مسافات
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 الذي يكون في البداية
شكرا كده تمام
جرب هذا الكود قد يفيدك


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 
تم ايجاد الحل المناسب