Menu
CoddyTech

Chuỗi con với substr()

Thuộc phần Logic và luồng điều khiển trong hành trình R của Coddy. Bài học 1 trên 64.

substr(x, start, stop) trả về các ký tự của x từ vị trí start đến vị trí stop, tính cả hai vị trí. Các vị trí bắt đầu từ 1, giống như chỉ số trong vector.

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

Đầu ra:

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

Để lấy các ký tự từ cuối chuỗi, hãy tính vị trí bằng nchar():

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

Đầu ra:

[1] "0042"

Giá trị stop vượt quá cuối chuỗi sẽ được cắt về ký tự cuối cùng, còn start lớn hơn stop sẽ trả về chuỗi rỗng:

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

Đầu ra:

[1] "at"
[1] ""

substr() hoạt động đồng thời trên mọi phần tử của một vectơ ký tự:

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

Đầu ra:

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

Gán giá trị cho substr() sẽ ghi đè các ký tự ngay tại chỗ. Độ dài của chuỗi vẫn giữ nguyên:

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

Đầu ra:

[1] "user-1234"
challenge icon

Thử thách

Dễ

Hoàn thiện short_code(city) để hàm trả về ba chữ cái đầu tiên của city dưới dạng chữ in hoa. Với london, hàm trả về LON.

Đoạn code được cung cấp đọc tên thành phố từ đầu vào và in giá trị trả về trên một dòng riêng.

Tự làm thử

short_code <- function(city) {
  # Viết code của bạn ở đây
  ""
}

# Đoạn code đầu vào/đầu ra có sẵn: giữ nguyên
input <- suppressWarnings(readLines(file("stdin")))
cat(short_code(input[1]), sep = "\n")
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng điều khiển

Tự luyện tập: Trình biên dịch R online