החזרת משתנה (ארוך) המציין את מיקום המופע הראשון של מחרוזת אחת בתוך מחרוזת אחרת.
תחביר
InStr ([start, ] string1, string2 [, compare ] )
תחביר הפונקציה InStr מכיל את הארגומנטים הבאים:
ארגומנט |
תיאור |
---|---|
התחלה |
אופציונלי. ביטוי מספרי המגדיר את מיקום ההתחלה עבור כל חיפוש. אם הוא מושמט, החיפוש מתחיל במיקום התו הראשון. אם start מכיל Null, תתרחש שגיאה. הארגומנט start נדרש אם צוין compare. |
מחרוזת1 |
נדרש. ביטוי מחרוזת הנמצא בחיפוש. |
מחרוזת 2 |
נדרש. נדרש ביטוי מחרוזת. |
להשוות |
אופציונלי. מציין את סוג השוואת מחרוזות. אם compare הוא Null, תתרחש שגיאה. אם compare מושמט, ההגדרה OptionCompare קובעת את סוג ההשוואה. ציין LCID חוקי (LocaleID) לשימוש בכללים ספציפיים למיקום בהשוואה. |
עצה: בונה הביטויים כולל את IntelliSense, כך שתוכל לראות אילו ארגומנטים דרושים לביטוי שלך.
הגדרות
הגדרות ארגומנט ההשוואה הן:
קבוע |
Value |
תיאור |
---|---|---|
vbUseCompareOption |
-1 |
ביצוע השוואה באמצעות ההגדרה של המשפט Option Compare . |
vbBinaryCompare |
0 |
ביצוע השוואה בינארית. |
vbTextCompare |
1 |
ביצוע השוואה טקסטואלית. |
ערכי החזרה
אם |
InStr מחזיר |
---|---|
string1 הוא באורך אפס |
0 |
string1 הוא Null |
Null |
string2 הוא באורך אפס |
התחלה |
string2 הוא Null |
Null |
מחרוזת2 לא נמצאה |
0 |
מחרוזת2 נמצאה בתוך string1 |
מיקום שבו נמצאה התאמה |
start > string2 |
0 |
הערות
הפונקציה InStrB משמשת עם נתוני בית הכלולים במחרוזת. במקום להחזיר את מיקום התו של המופע הראשון של מחרוזת אחת בתוך מחרוזת אחרת, InStrB מחזיר את מיקום הבית.
דוגמאות
שימוש בפונקציה InStr בביטוי באפשרותך להשתמש ב - InStr בכל מקום שבו ניתן להשתמש בביטויים. לדוגמה, אם ברצונך למצוא את מיקום התקופה הראשונה (.) בשדה המכיל כתובות IP (הנקראות IPAddress), באפשרותך להשתמש ב- InStr כדי למצוא אותו, כך:
InStr(1,[IPAddress],".")
הפונקציה InStr בודקת כל ערך בשדה IPAddress ומחזירה את מיקום התקופה הראשונה. לפיכך, אם החלק הראשון של כתובת ה- IP הוא 10., הפונקציה מחזירה את הערך 3.
לאחר מכן תוכל להשתמש בפונקציות אחרות, הפועלות על הפלט של הפונקציה InStr , כדי לחלץ את החלק של כתובת ה- IP שמופיע לפני התקופה הראשונה, באופן הבא:
Left([IPAddress],(InStr(1,[IPAddress],".") -1))
בדוגמה זו, InStr(1,[IPAddress],".") מחזירה את המיקום של התקופה הראשונה. חיסור 1 קובע כמה תווים מופיעים לפני התקופה הראשונה, במקרה זה, 2. לאחר מכן, הפונקציה Left מחלצת תווים רבים מה חלקו השמאלי של השדה IPAddress ומחזירה את הערך 10.
השתמש ב- InStr בקוד VBA
הערה: הדוגמאות הבאות מדגימות את השימוש של פונקציה זו במודול Visual Basic for Applications (VBA).
דוגמה זו משתמשת בפונקציה InStr כדי להחזיר את המיקום של המופע הראשון של מחרוזת אחת בתוך מחרוזת אחרת.
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar) ' Returns 9.
MyPos = Instr(1, SearchString, "W") ' Returns 0.