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
כוללים גמישות רבה יותר בחיפוש תבניות ותמיכה בסטנדרטים של רגולר אקספרשנס.