هل سبق لك أن واجهت موقف الرغبة في الحصول على قيم معينة من سلسلة ولكن لا تعرف من أين تبدأ؟ هل سبق لك أن شعرت بالارتباك بشأن كيفية كتابة الكتب أو الكتب المدرسية المقسمة؟ إذا كان لديك هذا السؤال، يرجى قراءة شرحي للمثال أدناه وأعتقد أنه سيكون لديك فهم معين لهذا الأمر.
اسمحوا لي أولاً أن أقدم استخدام وظيفة التقسيم:
صفيف قيمة الإرجاع = سبليت ("سلسلة"، "فاصل")
افترض أن المتغير strURL يخزن قيمة URL، مثل strURL = " ftp://username:password@server ". هذا هو نموذج URL عندما نقوم بتسجيل الدخول إلى FTP في IE ، ما يجب القيام به؟ وبطبيعة الحال، هناك العديد من الحلول هنا نقدم الحل فقط باستخدام سبليت. أولا، نجد المحدد. لقد وجدنا أنه في هذه السلسلة، توجد نقطتان بين اسم المستخدم وكلمة المرور، لذلك نستخدم هذه النقطتين كفاصل لوظيفة التقسيم لتقسيم السلسلة بأكملها، وتحقيق غرض جلب اسم المستخدم وكلمة المرور في النهاية. الرمز هو كما يلي:
strURL = " ftp://اسم المستخدم:password@server "
aryReturn = Split(strURL,":")
بهذه الطريقة، نقوم بتقسيم السلسلة بنقطتين، ويتم تخزين نتائج التقسيم في aryReturn (aryReturn عبارة عن مصفوفة).
دعونا نلقي نظرة على النتيجة النهائية. نظرًا لأن الدالة Split تُرجع مصفوفة في النهاية، فإننا نعرض بشكل أساسي العناصر الموجودة في المصفوفة، والتي تتضمن بعض الوظائف المتعلقة بالمصفوفة: تحدد IsArray() ما إذا كانت دالة أم لا، LBound(). يأخذ الحرف المنخفض من المصفوفة، ويأخذ UBound() الحرف المرتفع من المصفوفة.
Response.Write("هل القيمة المرجعة عبارة عن مصفوفة:" & IsArray(aryReturn) & "<br>")
لأني = LBound(aryReturn) إلى UBound(aryReturn)
Response.Write("العناصر الموجودة في مصفوفة القيمة المرجعة [" & i & "]: " & Right(aryReturn(i),Len(aryReturn(i))-2) & "<br>")
التالي من خلال
الكود أعلاه نرى أن السلسلة مقسمة إلى ثلاثة أجزاء وهي: "ftp"، "//username"، " password@server ". نحتاج إلى معالجة اسم المستخدم وكلمة المرور بشكل أكبر، لذا لن أخوض في التفاصيل وأعطي الرمز مباشرة.
الحصول على رمز اسم المستخدم:
strUsername = Right(aryReturn(1),Len(aryReturn(1))-2)
الكود للحصول على كلمة المرور:
'نستخدم وظيفة التقسيم مرة أخرى للحصول على كلمة المرور، ولكن هذه المرة يكون الفاصل هو "@"
aryTemp = سبليت(aryReturn(2),"@")
كلمة المرور = aryTemp(0)
"يمكننا القضاء على الخادم بالمناسبة."
strServer = aryTemp(1)
يمكن أن يكون المحدد حرفًا أو سلسلة. يحب:
aryReturn = Split(" ftp://username:password@server,"// ")
ملاحظة:
1. بشكل عام، لا يلزم الإعلان عن المتغيرات في ASP. عند استخدام الدالة Split، إذا كنت تريد الإعلان عن متغير يُرجع قيمة، فيمكنك فقط استخدام Dim، وليس Redim. على الرغم من أنه يقال أن الإرجاع عبارة عن مصفوفة، فمن الممكن استخدام Redim، لكنه غير ممكن في الاستخدام الفعلي. لا أعرف ماذا يحدث؟
2. إذا تم استخدام وظيفة الانقسام لتقسيم سلسلة بفاصل غير موجود، فسيتم إرجاع السلسلة بأكملها، والنتيجة هي مصفوفة تحتوي على عنصر واحد فقط.
لاحقًا، إذا كنت تريد استخراج أحرف أو أجزاء معينة من سلسلة، فطالما أنك تفهم القواعد وتستخدم التقسيم، يمكنك تحقيق تأثيرات مختلفة. أكتب هذا المقال، على أمل أن يكون مفيدًا للدراسة للجميع، وآمل أيضًا أن يتمكن الخبراء من جميع مناحي الحياة من تقديم بعض النصائح!