Menu
Coddy logo textTech

문자열 분할 및 결합

Coddy R 여정의 논리와 흐름 섹션에 포함된 레슨. 64개 중 3번째.

strsplit(x, split)은 모든 구분 기호에서 문자열을 자릅니다. 입력 문자열마다 하나의 문자 벡터가 포함된 목록을 반환하므로, 단일 문자열의 조각을 가져오려면 [[1]]을 사용하세요.

csv <- "red,green,blue"
parts <- strsplit(csv, ",")[[1]]
print(parts)
print(length(parts))

출력:

[1] "red"   "green" "blue" 
[1] 3

paste()는 반대 역할을 합니다. collapse를 사용하면 한 벡터의 요소들을 하나의 문자열로 결합하고, 그 사이에 collapse 텍스트를 넣습니다. sep는 인자 사이에 요소별로 들어갑니다.

words <- c("one", "two", "three")
print(paste(words, collapse = "-"))
print(paste(words, 1:3, sep = "_"))

출력:

[1] "one-two-three"
[1] "one_1"   "two_2"   "three_3"

입력된 텍스트에는 구분자 주변에 공백이 있는 경우가 많습니다. trimws()는 각 요소의 시작과 끝에 있는 공백을 제거합니다:

raw <- "  apples , pears,plums  "
items <- trimws(strsplit(raw, ",")[[1]])
print(items)
print(paste(rev(items), collapse = " | "))

출력:

[1] "apples" "pears"  "plums" 
[1] "plums | pears | apples"

벡터에 strsplit()을 적용하면 문자열마다 하나의 목록 요소가 반환되므로, 각 입력 줄은 고유한 조각을 유지합니다:

lines <- c("a,b", "c,d,e")
parts <- strsplit(lines, ",")
print(length(parts))
print(parts[[2]])

출력:

[1] 2
[1] "c" "d" "e"
challenge icon

챌린지

쉬움

hashtags(line)을 완성하세요. 이 줄에는 쉼표로 구분된 태그가 있으며, 태그 앞뒤에 공백이 있을 수도 있습니다. 모든 태그 앞에 #을 붙이고 한 칸의 공백으로 구분한 하나의 문자열을 반환하세요. r, data ,stats는 #r #data #stats가 됩니다.

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

직접 해보기

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

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

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

논리와 흐름의 모든 레슨

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