使用 substr() 获取子字符串
本课属于 Coddy R 学习旅程的“逻辑与流程”单元。第 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 会截取到最后一个字符,而大于 stop 的 start 会得到一个空字符串:
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"挑战
简单补全 short_code(city),让它以大写字母返回 city 的前三个字母。对于 london,它会返回 LON。
提供的代码会从输入中读取城市名称,并将返回值单独打印在一行上。
亲手试试
short_code <- function(city) {
# 在这里编写你的代码
""
}
# 提供的输入和输出代码:保持原样
input <- suppressWarnings(readLines(file("stdin")))
cat(short_code(input[1]), sep = "\n")
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: R 在线编译器