عامل التشغيل Like (Visual Basic)

مقارنة سلسلة مقابل نقش.

result = string Like pattern

الأجزاء

  • result
    مطلوبة. أي Boolean المتغير. تكون النتيجة Boolean القيمة تشير إلى ما إذا كان string تحقق pattern.

  • string
    مطلوبة. أي تعبير String.

  • pattern
    مطلوبة. أي String التعبير المتوافق مع اصطلاحات مطابقة النقش الموضحة في "الملاحظات".

ملاحظات

إذا كانت القيمة في string يفي بالنقش المضمنة في pattern, result هو True. إذا لم تفي السلسلة النقش, result هو False. إذا كان كلا string و pattern سلاسل فارغة, النتيجة هي True.

أسلوب المقارنة

سلوك عامل التشغيل Like يعتمد على عبارة Option Compare. أسلوب المقارنة بين السلاسل الافتراضية لكل ملف المصدر هو Option Compare Binary.

خيارات النقش

مطابقة النقش المضمنة توفر أداة متعددة الجوانب لمقارنات السلسلة. ميزات مطابقة النقش تسمح لك بمطابقة كل حرف في string مقابل أحرف معينة أو حرف بدل, قائمة أحرف أو نطاق أحرف. يعرض جدول التالي الأحرف المسموح بها في pattern وما تطابق.

الأحرف في pattern

التطابقات في string

?

أي حرف مفرد

*

أحرف عددها صفر أو أكثر

#

أي رقم مفرد (0–9)

[charlist]

أي حرف مفرد في charlist

[!charlist]

أي حرف مفرد ليس في charlist

قوائم الأحرف

مجموعة أحرف واحدة أو أكثر (charlist) تم إحاطتها في أقواس ()[ ]) يتم استخدامها لمطابقة أي حرف مفرد في string ويمكن أن تحتوي على أي رمز حرف بما في ذلك الأرقام.

رمز علامة التعجب (!) في بداية charlist يعني تم اجراء تطابق إذا كان أي حرف باستثناء الأحرف في charlist يتم اجادها في string. عند استخدامه خارج الأقواس، تطابق علامة التعجب نفسها.

الأحرف الخاصة

لمـطابقة قوس أيسر أحرف الخاصة ([) ،علامة الاستفهام (?) ، رقم تسجيل (#) ، و النجمية (*) ، قم بإحاطتهم بأقواس. القوس الأيمن (]) لا يمكن استخدامه داخل مجموعة لمطابقة نفسه، ولكن يمكن استخدامه خارج مجموعة كـحرف مفرد .

تسلسل الحرف [] يعتبر سلسلة ذات طول صفري (""). ومع ذلك، لا يمكن أن تكون جزءاً من قائمة الحرف محاط بأقواس. إذا كنت تريد التحقق ما إذا كان موضع في string يحتوي على واحد من مجموعة الأحرف أو ولا حرف على الإطلاق, يمكنك استخدام Like مرتين. على سبيل المثال ، راجع كيفية القيام بما يلي: تطابق السلسلة ضد النموذج.

نطاقات الأحرف:

باستخدام الواصلة (–) لفصل الحدود السفلية والعليا من النطاق,charlist يمكن تحديد نطاق من الأحرف. على سبيل المثال، [A–Z] ينتج مطابقة إذا كان موضع الحرف المقابل في string يحتوي على أي أحرف ضمن النطاقA-Z, و [!H–L] – ينتج مطابقة إذا احتوى موضع الحرف المقابل على أي حرف خارج النطاقH-L .

عند تعيين نطاق من الأحرف, يجب أن يظهر بترتيب فرز تصاعدي, من الأقل إلى الأعلى. وبالتالي ,[A–Z] نمط صالح ولكن [Z–A] ليس كذللك.

نطاقات حرف متعددة

لـتحديد نطاقات متعددة لنفس موضع الحرف, قم بوضعها داخل الأقواس نفس بدون محددات. على سبيل المثال , [A–CX–Z] ينتج مطابقة إذا كان موضع الحرف المطابق في string يحتوي على أي حرف إما داخل النطاق A–C أو نطاق X –Z.

استخدام الواصلة

الواصلة (–) يمكن أن يظهر في البداية (بعد نقطة تعجب, إن وجد) أو في نهاية charlist لتطابق نفسها. في أي موقع آخر الواصلة تعرف نطاق من الأحرف بعلامات أحرف على جانبي الواصلة.

مقارنة التتابع

يعتمد معنى النطاق المحدد على ترتيب الحرف في وقت التشغيل, أثناء تحديدها بواسطةOptionCompare و الاعداد المحلي للنظام الذي تعمل عليه التعليمات البرمجية. مع OptionCompareBinary،النطاق [A–E] يطابق A , B , C, D ، و E . مع OptionCompareText،[A–E] يطابق A , a , À, à ، B,b, C, cD, d ,E, و e . لا يطابق النطاق Ê أو ê لأن ترتيب الأحرف المحركة بعد أحرف غير المتحركة في ترتيب الفرز.

أحرف digraph

في بعض اللغات, يوجد أحرف أبجدية تمثل حرفين منفصلين. على سبيل المثال، تستخدم عدة لغات الحرف æ لتمثيل الأحرف a و e عندما يظهروا معاً. الـعامل Like يتعرف أن حرف مفرد digraph و الحرفين الفردين متكافئين .

عندما تستخدم لغة حرف digraph محدد في الإعدادات المحلية للنظام, تواجد حرف مفرد digraph في pattern أو string يطابق تسلسل الحرفين المكافئين في السلسلة الأخرى. وبشكل مماثل، حرف digraph في pattern محاط بأقواس متوسطة (لوحدها, في قائمة أو نطاق) يطابق تسلسل الحرفين المكافئين في string.

التحميل الزائد

عامل التشغيل Like يمكن أن يكون محمل بشكل زائد ، مما يعني أنه يمكن للفئة أو البنية إعادة تعريف سلوكها عندما يُشير مُعامل يحتوي على نوع هذه الفئة أو البنية. إذا كانت التعليمات البرمجية الخاصة بك على مثل هذه الفئة أو البنية، تأكد من فهم سلوكها المعاد تعريفه. لمزيد من المعلومات، راجع إجراءات عامل التشغيل.

مثال

يستخدم هذا المثال Like عامل التشغيل ليقارن سلاسل إلى أنماط متنوعة. النتائج ينتقل في Boolean المتغير الذي يشير ما إذا كان كل سلسلة يفي النقش.

Dim testCheck As Boolean
' The following statement returns True (does "F" satisfy "F"?)
testCheck = "F" Like "F"
' The following statement returns False for Option Compare Binary
'    and True for Option Compare Text (does "F" satisfy "f"?)
testCheck = "F" Like "f"
' The following statement returns False (does "F" satisfy "FFF"?)
testCheck = "F" Like "FFF"
' The following statement returns True (does "aBBBa" have an "a" at the
'    beginning, an "a" at the end, and any number of characters in 
'    between?)
testCheck = "aBBBa" Like "a*a"
' The following statement returns True (does "F" occur in the set of
'    characters from "A" through "Z"?)
testCheck = "F" Like "[A-Z]"
' The following statement returns False (does "F" NOT occur in the 
'    set of characters from "A" through "Z"?)
testCheck = "F" Like "[!A-Z]"
' The following statement returns True (does "a2a" begin and end with
'    an "a" and have any single-digit number in between?)
testCheck = "a2a" Like "a#a"
' The following statement returns True (does "aM5b" begin with an "a",
'    followed by any character from the set "L" through "P", followed
'    by any single-digit number, and end with any character NOT in
'    the character set "c" through "e"?)
testCheck = "aM5b" Like "a[L-P]#[!c-e]"
' The following statement returns True (does "BAT123khg" begin with a
'    "B", followed by any single character, followed by a "T", and end
'    with zero or more characters of any type?)
testCheck = "BAT123khg" Like "B?T*"
' The following statement returns False (does "CAT123khg"?) begin with
'    a "B", followed by any single character, followed by a "T", and
'    end with zero or more characters of any type?)
testCheck = "CAT123khg" Like "B?T*"

راجع أيضًا:

المهام

كيفية القيام بما يلي: تطابق السلسلة ضد النموذج

المرجع

عوامل تشغيل المقارنة (Visual Basic)

InStr

أسبقية عامل التشغيل في Visual Basic

عوامل تشغيل مسرودة حسب الوظيفة

عبارة Option Compare

StrComp

المبادئ

عوامل التشغيل و التعبيرات في Visual Basic