Menu
Coddy logo textTech

텍스트 바꾸기

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] 2598

fixed = 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"
challenge icon

챌린지

쉬움

slugify(title)를 완성하세요. 제목을 소문자로 반환하되, 시작과 끝의 공백을 제거하고, 연속된 모든 공백을 하나의 -로 바꾸세요. Hello World 는 hello-world가 됩니다.

제공된 코드는 제목을 읽고 반환된 값을 출력합니다.

직접 해보기

slugify <- function(title) {
  # 여기에 코드를 작성하세요
  title
}

# 제공된 입력/출력 코드: 그대로 유지하세요
input <- suppressWarnings(readLines(file("stdin")))
cat(slugify(input[1]), sep = "\n")
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨

직접 연습해 보세요: 온라인 R 컴파일러