0Pricing
Learn Rust Coding · درس

أساليب String

معالجة النصوص

أساليب String درس مجاني في Learn Rust Coding على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn Rust Coding، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn Rust Coding 4 دروس في المجموع.

التعامل مع النصوص

يوفّر نوع str في Rust العديد من الدوال المضمّنة لفحص النصوص وتحويلها. وتعمل هذه الدوال مع كل من String و&str.

fn main() {
    let s = "Hello, Rust";
    println!("length {}", s.len());
}

تغيير حالة الأحرف

استخدم to_uppercase وto_lowercase لتغيير حالة الأحرف. وتعيد الدالتان قيمة String جديدة.

fn main() {
    let s = "Rust";
    println!("{}", s.to_uppercase());
    println!("{}", s.to_lowercase());
}

إزالة المسافات البيضاء

تزيل trim المسافات البيضاء في بداية النص ونهايته، وتعيد شريحة ضمن النص الأصلي.

fn main() {
    let padded = "   spaced   ";
    let clean = padded.trim();
    println!("[{}]", clean);
}

التحقق من المحتوى

اختبر النص باستخدام contains وstarts_with وends_with. وتعيد كل واحدة منها قيمة من النوع bool.

fn main() {
    let s = "rust_lang.txt";
    println!("{}", s.contains("lang"));
    println!("{}", s.ends_with(".txt"));
}

استبدال النصوص

تستبدل replace كل تكرار لسلسلة فرعية بأخرى، وتنتج قيمة String جديدة.

fn main() {
    let s = "I like cats. Cats are nice";
    let dogs = s.replace("ats", "ats and dogs");
    println!("{}", dogs.replace("cats", "pets"));
}

تقسيم النصوص

تقسم split النص عند فاصل معيّن وتنتج مكرّرًا. أما split_whitespace فتقسم النص عند أي مسافة بيضاء.

fn main() {
    let csv = "a,b,c";
    for part in csv.split(',') {
        println!("{}", part);
    }
}

التقسيم إلى Vec

اجمع الأجزاء الناتجة عن التقسيم في متجه عندما تحتاج إلى تخزينها.

fn main() {
    let line = "one two three";
    let words: Vec<&str> = line.split_whitespace().collect();
    println!("{:?} ({} words)", words, words.len());
}

العثور على سلسلة فرعية

تعيد find فهرس البايت لأول تطابق ضمن قيمة من النوع Option، أو تعيد None إذا لم يوجد التطابق.

fn main() {
    let s = "abcdef";
    match s.find('d') {
        Some(i) => println!("found at {}", i),
        None => println!("not found"),
    }
}

تكرار الأحرف

تنتج الدالة chars كل حرف على حدة. استخدمها لمعالجة النص حرفًا واحدًا من النوع char في كل مرة.

fn main() {
    let s = "abc";
    for c in s.chars() {
        println!("{}", c);
    }
}

عدّ الأحرف

لعدّ الأحرف، وليس البايتات، استخدم chars().count(). وهذا مهم عند التعامل مع النصوص غير ASCII.

fn main() {
    let s = "hello";
    println!("{} chars", s.chars().count());
}

تسلسل الدوال

تعيد دوال السلاسل النصية قيمًا جديدة، لذا يمكنك تسلسلها في عملية تحويل واضحة.

fn main() {
    let input = "  Hello World  ";
    let result = input.trim().to_lowercase().replace(' ', "_");
    println!("{}", result);
}

تحقق سريع

تذكّر أي دالة تزيل المسافات البيضاء المحيطة.

مراجعة

دوال السلاسل النصية الشائعة:

  • حالة الأحرف: to_uppercase وto_lowercase.
  • التنظيف: trim وreplace.
  • التحقق: contains وstarts_with وfind.
  • التقسيم: split وsplit_whitespace وchars.

تعيد معظمها قيمًا جديدة، لذا يمكن تسلسلها بسهولة.

fn main() {
    let raw = "  Rust,Go,Lua  ";
    let langs: Vec<&str> = raw.trim().split(',').collect();
    println!("{:?}", langs);
}

الأسئلة الشائعة

هل درس «أساليب String» مجاني؟

نعم — نص درس «أساليب String» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn Rust Coding، انتقل إلى CoddyKit PRO. تتضمن دورة Learn Rust Coding 4 دروس في المجموع.

ماذا ستتعلم في «أساليب String»؟

معالجة النصوص تتمرن على Learn Rust Coding مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Learn Rust Coding؟

لا تُشترط خبرة سابقة. Learn Rust Coding على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «أساليب String»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Learn Rust Coding هذا؟

نعم. كل درس في Learn Rust Coding يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. String مقابل &str
  2. المقاطع
  3. أساليب String
  4. UTF-8 والمحارف
← العودة إلى Learn Rust Coding