طريقة VB.NET الفرعية مع EXAMPLE
ما هي السلسلة الفرعية؟
يتم استخدام وظيفة السلسلة الفرعية للحصول على جزء من سلسلة محددة. يتم تعريف هذه الطريقة في فئة السلسلة Microsoft VB.NET. يجب عليك تحديد فهرس البداية الذي سيتم استخراج السلسلة منه. سيتم استخراج السلسلة من هذا الفهرس حتى الطول الذي تحدده.
في هذا البرنامج التعليمي ، سوف تتعلم
بناء جملة السلسلة الفرعية
تقبل الوظيفة وسيطتين كما هو موضح في بناء الجملة التالي:
Public Function Substring(ByVal start_Index As Integer, ByVal sub_length As Integer) As String
هنا،
- تشير الكلمة الأساسية ByVal إلى القيمة التمريرية، وهي آلية لتمرير الوسائط إلى الوظائف.
- إن start_Index هو الفهرس الذي سيتم الحصول على السلسلة الفرعية منه
- يشير الطول الفرعي إلى الطول الذي سيتم نسخ السلسلة إليه من ملف start_Index. يتم قياس هذا الطول من حيث عدد الأحرف. ستقوم الدالة بإرجاع السلسلة الفرعية المستخرجة.
أمثلة
الخطوة 1) إنشاء تطبيق وحدة تحكم جديد.
الخطوة 2) أضف إليه الكود التالي:
Module Module1 Sub Main() Dim st As String = "Guru99" Dim subst As String = st.Substring(0, 4) Console.WriteLine("The substring is: {0}", subst) Console.ReadKey() End Sub End Module
الخطوة 3) انقر فوق زر البدء من شريط الأدوات لتنفيذ التعليمات البرمجية. يجب أن تحصل على النتيجة التالية:
لقد استخدمنا الكود التالي:
شرح الكود:
- إنشاء وحدة تسمى Module1.
- بدء الإجراء الفرعي الرئيسي.
- تحديد متغير سلسلة اسمه st وتعيين القيمة Guru99 له.
- تحديد متغير سلسلة يسمى 'subst' كسلسلة فرعية من السلسلة 'st' من الفهرس 0f وطول 4 أحرف.
- طباعة بعض النصوص والسلسلة الفرعية أعلاه على وحدة التحكم.
- إيقاف نافذة وحدة التحكم مؤقتًا لفترة من الوقت في انتظار قيام المستخدم باتخاذ إجراء لإغلاقها.
- نهاية الإجراء الفرعي الرئيسي.
- نهاية الوحدة.
حجة واحدة
ماذا لو قمنا بتمرير وسيطة واحدة فقط إلى الوظيفة؟ ستقوم الوظيفة بنسخ جميع البيانات الموجودة في السلسلة التي تبدأ من هذا الفهرس. ما يحدث هو أن وظيفة السلسلة الفرعية تنسخ داخليًا جميع بيانات السلسلة الموجودة في هذا الفهرس بالإضافة إلى تلك التي تتبع هذا الفهرس. على سبيل المثال:
Module Module1 Sub Main() Dim st As String = "Guru99" Dim subst As String = st.Substring(4) Console.WriteLine("The substring is: {0}", subst) Console.ReadKey() End Sub End Module
انقر فوق زر البدء لتشغيل الكود. يجب أن يؤدي ذلك إلى إرجاع ما يلي:
أعادت دالة السلسلة الفرعية 99. لقد مررنا المعلمة 4 إلى الدالة، مما يعني أنها ستبدأ في استخراج السلسلة الفرعية من الحرف الموجود في الفهرس 4 إلى نهاية السلسلة. 9 هو الحرف الموجود في الفهرس 4 من السلسلة Guru99، ومن هنا بدأ الاستخراج هناك.
الشخصيات الوسطى
من الممكن أيضًا أن نحصل على الأحرف الوسطى من السلسلة المعنية. في هذه الحالة، كل ما علينا فعله هو توفير الفهرس الابتدائي وطول السلسلة التي نحتاجها. في المثال التالي، نحصل على سلسلة فرعية من السلسلة المحددة من الفهرس 2 وسيكون طول السلسلة 2 حرفين:
Module Module1 Sub Main() Dim st As String = "Guru99" Dim subst As String = st.Substring(2, 2) Console.WriteLine("The substring is: {0}", subst) Console.ReadKey() End Sub End Module
انقر فوق زر البدء من شريط الأدوات لتشغيل الكود. ستحصل على النتيجة التالية:
في المثال أعلاه، قامت دالة السلسلة الفرعية بإرجاع ru. لقد مررنا المعلمات (2، 2) إلى الدالة. يوجه الأول 2 الوظيفة لبدء استخراج السلسلة الفرعية من الفهرس 2 بينما يوجه الثاني 2 الوظيفة لإرجاع سلسلة فرعية بطول حرفين فقط. وهذا يعني أن استخراج السلسلة الفرعية يجب أن يبدأ من العنصر الموجود في الفهرس 2 من السلسلة Guru2، وهو r. نظرًا لأن السلسلة الفرعية التي تم إرجاعها يجب أن تتكون من حرفين فقط، فلن يتجاوز الاستخراج الحرف 'u'، ومن ثم تم إرجاع 'ru'.
حرف واحد
يمكننا استخدام دالة Substring للحصول على حرف واحد من سلسلة. في مثل هذه الحالة، من الضروري إجراء تخصيص ولكن يمكن الوصول إلى الحرف مباشرة. هذا أسرع قليلاً. يوضح المثال التالي طريقتين يمكننا من خلالهما تحقيق ذلك:
Module Module1 Sub Main() Dim st As String = "Guru99" Dim mid1 As Char = st(1) Console.WriteLine(mid1) Dim mid2 As String = st.Substring(1, 1) Console.WriteLine(mid2) Console.ReadKey() End Sub End Module
انقر فوق زر البدء لتشغيل الكود. ستحصل على النتيجة التالية:
لقد استخدمنا الكود التالي:
شرح الكود:
- إنشاء وحدة تسمى Module1.
- بدء الإجراء الفرعي الرئيسي.
- تحديد متغير سلسلة اسمه st وتعيين القيمة Guru99 له.
- تحديد متغير سلسلة يسمى mid1 والحصول على الحرف في الفهرس 1 من String st. سيتم تعيين هذا الحرف للمتغير mid1.
- طباعة الحرف أعلاه على وحدة التحكم.
- تعريف متغير سلسلة اسمه mid2 والحصول على الحرف عند الفهرس 1 بطول 1 من String st. طول 1 يعني أنه سيعيد نفس الحرف في فهرس البداية. يبدأ العد من فهرس البداية الذي تحدده. سيتم تعيين هذا الحرف للمتغير mid2.
- طباعة الحرف أعلاه على وحدة التحكم.
- إيقاف نافذة وحدة التحكم مؤقتًا لفترة من الوقت في انتظار قيام المستخدم باتخاذ إجراء لإغلاقها.
- نهاية الإجراء الفرعي الرئيسي.
- نهاية الوحدة.
الملخص
- يتم تعريف وظيفة السلسلة الفرعية في فئة السلسلة في Visual Basic.NET.
- يقبل وسيطتين، وهما نقطة البداية للسلسلة الفرعية وطول السلسلة الفرعية.
- يمكننا اللعب بهذه الوسائط للحصول على مجموعات مختلفة من السلاسل الفرعية من السلسلة الرئيسية.