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

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

איך לעשות:

ארדואינו לא תומך באופן מובנה בביטויים רגולריים. נצטרך לעשות זאת ידנית. הנה דוגמא:

String removePattern(String str, char toRemove) {
  String result = "";
  for (unsigned int i = 0; i < str.length(); i++) {
    if (str[i] != toRemove) result += str[i];
  }
  return result;
}

void setup() {
  Serial.begin(9600);
  String data = "Hello-World-123";
  Serial.println(removePattern(data, '-'));  // "HelloWorld123"
}

void loop() {
  // Nothing to do here
}

פלט הדוגמה: “HelloWorld123”

עיון מעמיק:

עד לשנות ה-70, כאשר עיבוד טקסט התחיל להיות נפוץ יותר, לא הייתה דרך פשוטה להסיר תווים לפי תבנית. ביטויים רגולריים, שנוצרו בשנת 1956 על ידי סטיבן קליני, שיפרו את היכולת לחפש ולעבד טקסט באופן יעיל. קוד הארדואינו נועד להיות פשוט ואינו כולל תמיכה רשמית בביטויים רגולריים, מכיוון שלוקח הרבה משאבים במערכת עם משאבים חסוכים. דרך חלופית היא להשתמש בספריות צד שלישי שנועדו לארדואינו, אך יש לשים לב לשימוש בזיכרון ובמשאבי מעבד.

ראה גם: