Metin Değiştirme
Coddy'nin R Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 5 / 64.
sub(pattern, replacement, x) her dizedeki ilk eşleşmeyi, gsub() ise her eşleşmeyi değiştirir. grepl()'de olduğu gibi, fixed = TRUE deseni düz metin olarak ele alır.
date <- "2024-01-15"
print(sub("-", "/", date, fixed = TRUE))
print(gsub("-", "/", date, fixed = TRUE))Çıktı:
[1] "2024/01-15"
[1] "2024/01/15"Boş bir dizeyle değiştirmek, eşleşmeleri siler. Bu, metni sayıya dönüştürmeden önce temizler:
price <- "$1,299.00"
clean <- gsub(",", "", sub("$", "", price, fixed = TRUE), fixed = TRUE)
print(clean)
print(as.numeric(clean) * 2)Çıktı:
[1] "1299.00"
[1] 2598fixed = TRUE olmadan desen bir düzenli ifadedir. İki kullanışlı parça: [0-9] herhangi bir rakamla eşleşir ve + kendisinden önceki parçayı bir veya daha fazla kez tekrarlar; bu nedenle " +" bir boşluk dizisiyle eşleşir.
msg <- "call me at 555 0199"
print(gsub(" +", " ", msg))
print(gsub("[0-9]", "#", msg))Çıktı:
[1] "call me at 555 0199"
[1] "call me at ### ####"Diğer dize işlevleri gibi, sub() ve gsub() bir vektörün her öğesi üzerinde çalışır:
codes <- c("a-1", "b-22", "c-3")
print(gsub("-", "", codes, fixed = TRUE))
print(sub("-[0-9]+", "", codes))Çıktı:
[1] "a1" "b22" "c3"
[1] "a" "b" "c"Görev
Kolayslugify(title) işlevini tamamlayın. Başlığı küçük harfle, başında veya sonunda boşluk olmadan ve her boşluk dizisini tek bir - ile değiştirilmiş olarak döndürün: Hello World , hello-world olur.
Sağlanan kod başlığı okur ve döndürülen değeri yazdırır.
Kendin dene
slugify <- function(title) {
# Kodunuzu buraya yazın
title
}
# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
input <- suppressWarnings(readLines(file("stdin")))
cat(slugify(input[1]), sep = "\n")
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Dizeleri Derinlemesine
substr() ile Alt Dizelersprintf() ile BiçimlendirmeBölme ve BirleştirmeDizelerde AramaMetin DeğiştirmeTekrar - Kullanıcı Adı Oluşturucu4Matrisler
Matris OluşturmaMatrisleri İndekslemeSatır ve Sütun ÖzetleriMatris AritmetiğiTekrar - Oturma Planı2Anahtar-Değer Aramaları
Adlandırılmış Vektör AramalarıAnahtarları DenetlemeAnahtar Ekleme ve KaldırmaAdlar Üzerinde DöngüTekrar - Hisse Senedi Masası5Proje - Not Defteri
Öğrenci EklemeNotları Kaydetme3Kümeler ve Sayma
Benzersiz DeğerlerKüme İşlemleriÜyelik Testleritable() ile SaymaTekrar - Etkinlik Konukları6Değer Olarak Fonksiyonlar
Anonim FonksiyonlarFonksiyonları GeçirmeFonksiyon DöndürmeDurum Bilgili Closure'larTekrar - İndirim Kuralları9Veri Çerçeveleri
Veri Çerçeveleri OluşturmaSütunlar ve SatırlarSatırları FiltrelemeEkleme ve SıralamaTekrar - Satış Raporu12Proje - Harcama Takipçisi
Harcamaları KaydetmeToplam HarcamaKendi başına pratik yap: Online R derleyicisi