מציאת תת-מחרוזת
חיפוש מופע ראשון
מציאה של תת מחרוזת בתוך מחרוזת גדולה יותר, היא פעולה פשוטה בפרל, משום שקיימת פונקצית ספרייה שעושה את זה.
הפונקציה index מקבלת מחרוזת ותת-מחרוזת, ומחזירה את האידקס (המיקום) של התו הראשון של המופע הראשון (ההתאמה הראשונה) של תת המחרוזת במחרוזת הגדולה.
אם לא נמצאה התאמה, הפונקציה תחזיר את הערך -1.
שני הארגומנטים לפונקציה יכולים להיות מחרוזת, משתנה שמכיל מחרוזת, או פונקציה/ביטוי שמחזירים מחרוזת.
דוגמא:
#!/usr/local/bin/perl
$found =
index("d. where is the first d?","d");/* | הפונקציה תחזיר 0 כי זה המיקום של המופע הראשון של d | */ |
$day=
"monday";
$found =
index("sunday or monday",$day);
מציאת מופעים נוספים
index יכולה לקבל שלושה ארגומנטים - מרוזת, תת-מחרוזת, והאינדקס המינימלי שממנו היא תתחיל לחפש. הערך המוחזר יהיה גדול או שווה לאינדקס המינימלי, או -1 במקרה של כישלון.
דוגמא לתכנית שמחפשת את כל המופעים של תתמחרוזת המחרוזת אחרת:
#!/usr/local/bin/perl
$source_string =
"this is a very long string with many i's in it";
$looking_for =
"i";
$found =
index(
$source_string,
$looking_for);
#קודם מחפשים את המופע הראשוןwhile ($found != -1) { #ממשיכים כל עוד יש מופעים חדשים
print "found at $found";
$found =
index($source_string,$looking_for,$found+1);/* | נמשיך לחפש ממקום אחד אחרי המקום שמצאנו | */ |
}
חיפוש מהסוף להתחלה
rindex מבצעת את אותה פעולת חיפוש, אבל מתחילה מסוף המחרוזת. האינדקס שמוחזר הוא המיקום מתחילת המחרוזת האות הראשונה של המופע שנמצא.
להוספת תגובה, אנא התחברו לדרכונט.