Usuwanie znaków pasujących do wzorca

Arduino:
Usuwanie znaków pasujących do wzorca

How to: (Jak to zrobić:)

String deleteMatchingChars(String str, String pattern) {
  String result = "";
  for (char c : str) {
    if (pattern.indexOf(c) < 0) {
      result += c;
    }
  }
  return result;
}

void setup() {
  Serial.begin(9600);
  String text = "Hello World! 1234";
  String pattern = "lo2";
  Serial.println(deleteMatchingChars(text, pattern)); // Wyświetli "He World! 134"
}

void loop() {
  // Pusta pętla - logika jest w setup
}

Deep Dive (Dogłębna analiza)

Usuwanie określonych znaków nie jest nowością. Funkcje podobne do deleteMatchingChars istnieją w wielu językach programowania i są używane od dekad. Alternatywą jest wyrażenia regularne (regex), które oferują więcej elastyczności. W Arduino jednak używa się prostszych metod ze względu na ograniczone zasoby sprzętowe. Implementacja indexOf sprawdza, czy znak pasuje do wzoru - jeśli nie, dodaje go do wynikowego ciągu.

See Also (Zobacz również)