التقسيم والضم
جزء من قسم المنطق وتدفق التنفيذ في رحلة R على Coddy. الدرس 3 من 64.
strsplit(x, split) تقطع سلسلة نصية عند كل فاصل. وتُرجع قائمة تحتوي على متجه محارف واحد لكل سلسلة نصية مُدخلة، لذا استخدم [[1]] للحصول على الأجزاء من سلسلة نصية واحدة.
csv <- "red,green,blue"
parts <- strsplit(csv, ",")[[1]]
print(parts)
print(length(parts))الناتج:
[1] "red" "green" "blue"
[1] 3paste() تعمل في الاتجاه الآخر. باستخدام 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"التحدي
سهلأكمل hashtags(line). يحتوي السطر على وسوم مفصولة بفواصل، وقد توجد مسافات حولها. أعد سلسلة نصية واحدة مع إضافة # إلى بداية كل وسم، مع فصلها بمسافات مفردة: يصبح r, data ,stats #r #data #stats.
يقرأ الكود المُقدَّم السطر ويطبع القيمة المُعادة.
جرّب بنفسك
hashtags <- function(line) {
# اكتب الكود الخاص بك هنا
line
}
# كود الإدخال/الإخراج المُزوَّد: أبقِه كما هو
input <- suppressWarnings(readLines(file("stdin")))
cat(hashtags(input[1]), sep = "\n")
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1السلاسل النصية بعمق
السلاسل الفرعية باستخدام substr()التنسيق باستخدام sprintf()التقسيم والضمالبحث في السلاسل النصيةاستبدال النصوصمراجعة - منشئ اسم المستخدم4المصفوفات
إنشاء المصفوفاتفهرسة المصفوفاتملخصات الصفوف والأعمدةالحساب على المصفوفاتمراجعة - مخطط المقاعد2استرجاع القيم باستخدام المفاتيح
البحث في المتجهات المُسمّاةالتحقق من المفاتيحإضافة المفاتيح وإزالتهاالتكرار عبر الأسماءمراجعة - مكتب الأسهمتدرّب بنفسك: مترجم R عبر الإنترنت