Menu
Coddy logo textTech

Podciągi za pomocą substr()

Część sekcji Logika i przepływ sterowania ścieżki R w Coddy. Lekcja 1 z 64.

substr(x, start, stop) zwraca znaki z x od pozycji start do pozycji stop, włącznie z obiema pozycjami. Pozycje zaczynają się od 1, podobnie jak indeksy wektorów.

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

Wynik:

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

Aby pobrać znaki z końca, oblicz pozycje za pomocą nchar():

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

Wynik:

[1] "0042"

Wartość stop wykraczająca poza koniec jest ograniczana do ostatniego znaku, a wartość start większa niż stop daje pusty ciąg znaków:

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

Wynik:

[1] "at"
[1] ""

substr() działa jednocześnie na każdym elemencie wektora znakowego:

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

Wynik:

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

Przypisanie do substr() nadpisuje znaki w miejscu. Długość ciągu znaków pozostaje bez zmian:

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

Wynik:

[1] "user-1234"
challenge icon

Wyzwanie

Łatwy

Uzupełnij short_code(city), aby zwracała pierwsze trzy litery z city wielkimi literami. Dla london zwraca LON.

Podany kod odczytuje miasto z wejścia i wypisuje zwróconą wartość w osobnym wierszu.

Spróbuj swoich sił

short_code <- function(city) {
  # Wpisz tutaj swój kod
  ""
}

# Dostarczony kod wejścia/wyjścia: pozostaw go bez zmian
input <- suppressWarnings(readLines(file("stdin")))
cat(short_code(input[1]), sep = "\n")
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator R online