Ruby:
חילוץ תת-מחרוזות
איך לעשות:
Ruby מאפשרת לחלץ מחרוזות בתתי-מיתר בצורה פשוטה. בואו ניכנס בעניינים:
str = "Hello, Ruby World!"
# שיטה 1: שימוש במקומות מערך
substring = str[7, 4] # "Ruby"
puts substring
# שיטה 2: שימוש במתודת slice
slice = str.slice(7, 4) # "Ruby"
puts slice
# שיטה 3: ביטויים רגולריים
match = str[/[Rr]uby/] # "Ruby"
puts match
# שיטה 4: split וגישה למערך
split_array = str.split # מחלק ברירת מחדל בפסיקיות
picked_word = split_array[2] # "World!"
puts picked_word
תצוגה מקדימה של כל קטע תהיה “Ruby”, “Ruby”, “Ruby”, “World!” בהתאם.
עיון נוסף
בעבר, לחלץ מחרוזות תתי-מיתר היה תהליך יותר מפורט. Ruby התפתחה, אך כיום, יש לך מתודות וביטויים רגולריים זמינים לשימוש.
הנה מה שקורה מאחורי הקלעים: [7, 4]
אומר התחל בתו השביעי ותפוס את ארבעת התווים הבאים. slice
זו דרך מתודית לומר את אותו דבר. באמצעות ביטויים רגולריים, /[Rr]uby/
זה כמו לומר, “תשיג לי ‘Ruby’ או ‘ruby’, אשר ימצא לפני.” split
קוטע את המחרוזת למערך בכל רווח, ו[2]
בוחר את המילה השלישית—זכור, מערכים מתחילים מאפס.
אלטרנטיבות? בטח, ל-Ruby יש. partition
, rpartition
, וmatch
יכולים גם לשחק כאן. לכל אחד יש את המקרה שלו אך לדעת את .slice
וביטויים רגולריים מכסה את רוב הבסיסים.
בקצרה: חילוץ מחרוזות תתי-מיתר הוא על מניפולציה מדויקת של טקסט. הכלי הנכון אומר קוד נקי ויעיל.
ראה גם
- מסמכי Ruby על מחרוזת: ruby-doc.org/core-2.7.0/String.html
- ביטויים רגולריים ב-Ruby: ruby-doc.org/core-2.7.0/Regexp.html
- מדריך סגנון Ruby על מחרוזות: rubystyle.guide/#strings