Menu
CoddyTech

Memisahkan dan Menggabungkan

Termasuk bagian Logika dan Alur dalam perjalanan R di Coddy. Pelajaran 3 dari 64.

strsplit(x, split) memotong string pada setiap pemisah. Fungsi ini mengembalikan list dengan satu vektor karakter untuk setiap string input, jadi gunakan [[1]] untuk mendapatkan bagian-bagian dari satu string.

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

Output:

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

paste() bekerja sebaliknya. Dengan collapse, fungsi ini menggabungkan elemen-elemen dari satu vektor menjadi satu string dengan teks collapse di antaranya. sep ditempatkan di antara argumen, elemen demi elemen.

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

Output:

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

Teks dari input sering memiliki spasi di sekitar pemisah. trimws() menghapus spasi di awal dan akhir setiap elemen:

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

Output:

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

strsplit() pada sebuah vektor mengembalikan satu elemen list untuk setiap string, sehingga setiap baris input menyimpan bagiannya sendiri:

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

Output:

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

Tantangan

Mudah

Lengkapi hashtags(line). Baris tersebut berisi tag yang dipisahkan dengan koma, mungkin dengan spasi di sekitarnya. Kembalikan satu string dengan setiap tag diawali #, dan dipisahkan dengan satu spasi: r, data ,stats menjadi #r #data #stats.

Kode yang disediakan membaca baris tersebut dan mencetak nilai yang dikembalikan.

Coba sendiri

hashtags <- function(line) {
  # Tulis kodemu di sini
  line
}

# Kode input/output yang disediakan: biarkan apa adanya
input <- suppressWarnings(readLines(file("stdin")))
cat(hashtags(input[1]), sep = "\n")
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler R online