מחיקת תווים התואמים לתבנית

Rust:
מחיקת תווים התואמים לתבנית

איך לעשות:

כדי למחוק תווים ממחרוזת לפי תבנית ב-Rust, אפשר להשתמש בפונקציה replace מהמודול str, או בחבילת רגולר אקספרשנס חיצונית כמו regex. להלן דוגמאות:

בסיסי ללא regex:

fn main() {
    let phrase = "Hello, 123 World! 456";
    let only_letters = phrase.chars().filter(|c| c.is_alphabetic()).collect::<String>();
    println!("{}", only_letters); // ידפיס "HelloWorld"
}

עם regex:

use regex::Regex;

fn main() {
    let re = Regex::new(r"\d").unwrap(); // תבנית למציאת ספרות
    let phrase = "Hello, 123 World! 456";
    let no_digits = re.replace_all(&phrase, "");
    println!("{}", no_digits); // ידפיס "Hello,  World! "
}

הצצה לעומק:

בעבר, שפות רבות השתמשו בפונקציות כמו replace וremove כדי לעבד מחרוזות. Rust מציעה ממשק אינטואיטיבי למחיקת תווים עם המתודות שלו, כמו chars וfilter. חבילות פנימיות מספקות פונקציונליות בסיסית, אבל עבור תבניות מורכבות יותר נפוצה השימוש בחבילת regex שמאוד עוצמתית.

המימוש הפנימי של מחיקות ב-Rust מתבצע באמצעות איטרציה על התווים ובדיקה אם הם מתאימים לתנאים (כמו בדוגמה הבסיסית), או על ידי יצירת מחרוזת חדשה בלי התווים הנבחרים (כמו בשימוש ב-regex). חלק מהיתרונות של regex כוללים גמישות רבה יותר בחיפוש תבניות ותמיכה בסטנדרטים של רגולר אקספרשנס.

ראה גם: