텍스트 바꾸기
Coddy R 여정의 논리와 흐름 섹션에 포함된 레슨. 64개 중 5번째.
sub(pattern, replacement, x)는 각 문자열에서 첫 번째 일치 항목을 바꾸고, gsub()는 모든 일치 항목을 바꿉니다. grepl()과 마찬가지로 fixed = TRUE는 패턴을 일반 텍스트로 처리합니다.
date <- "2024-01-15"
print(sub("-", "/", date, fixed = TRUE))
print(gsub("-", "/", date, fixed = TRUE))출력:
[1] "2024/01-15"
[1] "2024/01/15"빈 문자열로 대체하면 일치하는 항목이 삭제됩니다. 이렇게 하면 텍스트를 숫자로 변환하기 전에 정리할 수 있습니다:
price <- "$1,299.00"
clean <- gsub(",", "", sub("$", "", price, fixed = TRUE), fixed = TRUE)
print(clean)
print(as.numeric(clean) * 2)출력:
[1] "1299.00"
[1] 2598fixed = TRUE가 없으면 패턴은 정규 표현식입니다. 유용한 두 가지 요소는 다음과 같습니다. [0-9]는 모든 숫자와 일치하고, +는 앞의 요소를 한 번 이상 반복하므로 " +"는 연속된 공백과 일치합니다.
msg <- "call me at 555 0199"
print(gsub(" +", " ", msg))
print(gsub("[0-9]", "#", msg))출력:
[1] "call me at 555 0199"
[1] "call me at ### ####"다른 문자열 함수와 마찬가지로 sub()와 gsub()는 벡터의 모든 요소에 대해 작동합니다:
codes <- c("a-1", "b-22", "c-3")
print(gsub("-", "", codes, fixed = TRUE))
print(sub("-[0-9]+", "", codes))출력:
[1] "a1" "b22" "c3"
[1] "a" "b" "c"챌린지
쉬움slugify(title)를 완성하세요. 제목을 소문자로 반환하되, 시작과 끝의 공백을 제거하고, 연속된 모든 공백을 하나의 -로 바꾸세요. Hello World 는 hello-world가 됩니다.
제공된 코드는 제목을 읽고 반환된 값을 출력합니다.
직접 해보기
slugify <- function(title) {
# 여기에 코드를 작성하세요
title
}
# 제공된 입력/출력 코드: 그대로 유지하세요
input <- suppressWarnings(readLines(file("stdin")))
cat(slugify(input[1]), sep = "\n")
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 R 컴파일러