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"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")
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
1Chuỗi chuyên sâu
Chuỗi con với substr()Định dạng với sprintf()Tách và nối chuỗiTìm kiếm trong chuỗiThay thế văn bảnÔn tập: Tạo tên người dùng10Luồng điều khiển nâng cao
Hàm switch()ifelse() dạng vector hóarepeat và breakHàm đệ quyÔn tập: phân loại điểmTự luyện tập: Trình biên dịch R online