Menu
Coddy logo textTech

תת־מחרוזות עם substr()

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-R של Coddy. שיעור 1 מתוך 64.

substr(x, start, stop) מחזירה את התווים של x מהמיקום start ועד למיקום stop, כולל שניהם. המיקומים מתחילים ב־1, כמו האינדקסים של וקטור.

word <- "programming"
print(substr(word, 1, 7))
print(substr(word, 4, 6))

פלט:

[1] "program"
[1] "gra"

כדי לקחת תווים מהסוף, חשבו את המיקומים באמצעות nchar():

code <- "INV-2024-0042"
n <- nchar(code)
print(substr(code, n - 3, n))

פלט:

[1] "0042"

ערך stop שחורג מסוף המחרוזת נחתך לתו האחרון, וערך start שגדול מ־stop מחזיר מחרוזת ריקה:

print(substr("cat", 2, 10))
print(substr("cat", 3, 1))

פלט:

[1] "at"
[1] ""

substr() פועלת על כל איבר בווקטור תווים בבת אחת:

days <- c("Monday", "Tuesday", "Wednesday")
print(substr(days, 1, 3))

פלט:

[1] "Mon" "Tue" "Wed"

השמה ל־substr() מחליפה תווים במקום. המחרוזת שומרת על אורכה:

id <- "user-0000"
substr(id, 6, 9) <- "1234"
print(id)

פלט:

[1] "user-1234"
challenge icon

אתגר

קל

השלם את short_code(city) כך שתחזיר את שלוש האותיות הראשונות של city באותיות גדולות. עבור london היא מחזירה LON.

הקוד שסופק קורא את שם העיר מהקלט ומדפיס את הערך שהוחזר בשורה נפרדת.

נסו בעצמכם

short_code <- function(city) {
  # כתבו את הקוד שלכם כאן
  ""
}

# קוד קלט/פלט שסופק: השאירו אותו כפי שהוא
input <- suppressWarnings(readLines(file("stdin")))
cat(short_code(input[1]), sep = "\n")
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר R אונליין