Im Online-Übungs-/Prüfungssystem finden Sie in diversen Tabellenansichten im Betreuer- oder Korrektorenzugang Suchfelder zum Filtern von Tabellen anhand von Spalteninhalten. Das kann z.B. wie folgt aussehen:
Hier können Sie Text bzw. Zahlen eingeben, um die Tabelle zu filtern, also alle Tabellenzeilen auszublenden, in denen der Suchbegriff nicht (in dieser Spalte) vorkommt. Aber diese Felder können noch mehr als nur reinen Suchtext entgegen zu nehmen und auf ein „Enthaltensein“ als Teilwort zu prüfen. Mit verschiedenen Suchoperatoren können Sie komplexere Suchen / Filteroperationen ausführen. Eine Auswahl praktischer Operatoren soll hier zusammengestellt werden.
Es kann leichte Unterschiede im Such-/Filterverhalten je nach Tabellentyp geben:
Normalerweise braucht Sie dieser Unterschied nicht zu kümmern, aber da die Suchroutinen (serverseitig vs. clientseitig) nicht dieselben sind, kann es im Einzelfall Unterschiede im Verhalten oder in den unterstützten Operatoren geben. So unterstützt die JavaScript-Implementierung noch mehr Operatoren/Schreibweisen als die serverseitige Suche. Die im folgenden Teil vorgestellten Operatoren/Schreibweisen sollten in beiden Varianten weitgehend gleich funktionieren, die uns bekannten Unterschiede im Detail1 werden unten jeweils dokumentiert.
Was ohne Handbuch bereits intuitiv klar werden bzw. leicht herauszufinden sein sollte, ist, dass durch einfaches Eintippen eines Suchbegriffs in ein solches Suchfeld die Tabelle sofort „live“ gefiltert wird und nur noch Tabellenzeilen anzeigt, die in dieser Spalte den Suchbegriff enthalten.
Die Suchfunktion ist aber noch deutlich flexibler, als nur nach einem einzigen festen Suchbegriff suchen zu können, z.B. lassen sich Suchbegriffe negieren (also nach allen Zeilen suchen, den die Begriff nicht enthalten), mehrere Suchbegriffe kombinieren oder Suchmuster formulieren. Um diese Möglichkeiten zu nutzen, ist eine Kenntnis der entsprechenden Syntax nötig. In diesem Teil sollen ausgewählte Suchoperatoren vorgestellt werden.
| oder OReier|eyer findet Tabellenzeilen, die in dieser Spalte die Teilworte »eier« oder »eyer« enthalten, also z.B. Namen wie »Meier«, »Lohmeier«, »Meyer«, »Meyering« etc..<10 | >20 findet in einer Ganzzahlen-Spalte Zeilen mit Werten kleiner als Zehn oder größer als 20.&& oder ANDRei && mund oder rei and mund findet Texte, die (unabhängig von der Groß-/Kleinschreibung) »Rei« und »mund« enthalten, aber nicht notwendig zusammenhängend, also nicht nur »Reimund«, sondern auch z.B. »Reiner aus Dortmund«. (Auch die Reihenfolge ist beliebig.)!!Hans findet nur Tabellenzeilen, in denen das Teilwort »Hans« nicht vorkommt.Rei && !mund (oder auch !mund && Rei) findet Tabellenzeilen, in denen zwar das Teilwort »Rei«, aber nicht zusätzlich »mund« vorkommt, d.h. Namen wie »Reiner« oder »Reiter« werden gefunden, »Reimund« dagegen nicht. Oder wenn die Spalte Paare aus Vor- und Nachnamen enthält, würde z.B. ein Eintrag wie »Tobias Reiter« gefunden (da Rei als Teilwort vorkommt), »Reiner Calmund« dagegen ausgefiltert, weil zwar Rei vorkommt, aber auch mund.Die logischen Operatoren sind hier nach Priorität aufsteigend sortiert, d.h. wenn Sie, wie z.B. im letzten Beispiel, die Operatoren ! und && kombinieren, bindet das Nicht stärker als das Und. (Vergleichbar mit »Punktrechnung vor Strichrechnung«, nur würde man hier eben sagen: »Nicht vor Und vor Oder«.)
* und ?* als Platzhalter für beliebig viele Zeichen oder ein ? als Wildcard für genau ein beliebiges Zeichen in den Suchbegriff ein.?atha* passt auf Namen wie »Nathalie« oder »Katharina«.
Hinweise:
") für „wörtliche Vollübereinstimmungssuche“, siehe unten!/…/ für Reguläre Ausdrücke/)./^text/) zu suchen oder gezielt unter Beachtung der Groß-/Kleinschreibung zu suchen (beides wird i.F. genauer ausgeführt).
i für „Ignore Case“, vgl. folgenden Punkt:/…/i). D.h. bei Verwendung eines regulären Ausdrucks können Sie – anders als bei den obigen Textmuster-Suchen – selbst steuern, ob Sie die Groß-/Kleinschreibung beachten oder ignorieren lassen möchten./[nk]atha/i z.B. auch »Katharina« oder »nathAliA« etc./[NK]atha/ sucht nach allen Vorkommen von z.B. »Katha« oder »Natha« als Teilübereinstimmung, findet also z.B. »Katharina«, »Nathalie« oder »Anna-Katharina« etc.^ am Beginn des regulären Ausdrucks bedeutet z.B., dass das nachfolgende Muster den Beginn des Suchtreffers darstellen muss (kein Text vorangehen darf), ein $ am Ende markiert entsprechend, dass ein Suchtreffer mit diesem Muster enden muss. Beides zusammen (/^suchbegriff$/) sucht demnach nur nach Zellen, die genau einen Pattern-Match enthalten, dem kein Text vorangehen oder folgen darf./^[NK]atha\w+$/ sucht alle Tabellenzeilen, die in der durchsuchten Spalte einen Text enthalten, der mit »Natha« oder »Katha« beginnt, worauf weitere Wortzeichen (Buchstaben, Bindestrich etc., aber kein Leerzeichen und somit kein weiterer Name mehr) folgen dürfen. So werden z.B. »Katharina« und »Nathalie« gefunden, »Anna-Katharina« oder »Nathalie Sofie« hingegen werden ausgefiltert./^Peter/ sucht nach allen Tabellenzeilen, an denen der Wert in dieser Spalte mit dem Text »Peter« beginnt (z.B. »Peter Pan«, nicht aber »Arne Peters«), oder /th$/ sucht nach Zellen, die auf »th« enden.= oder "…" für Vollübereinstimmungs-Suche=Anton oder Anton= oder "Anton" sucht nur nach Zellen, in denen genau/ausschließlich der Text »Anton« steht, Zellen mit z.B. »Antonia« werden dann ausgefiltert.
!=Anton oder !"Anton" wieder nach allen Zellen, die nicht genau das Wort »Anton« enthalten.* und ? darin als zu suchender Text und nicht als Wildcard interpretiert."hallo?" wird z.B. wirklich nur nach Tabellenzeilen gesucht, die genau den Text »hallo?« als Vollübereinstimmung enthalten, das Fragezeichen ist hier kein Platzhalter für ein beliebiges anderes Zeichen.=-Operator verwenden, gibt es dagegen einen Unterschied zwischen serverseitiger und clientseitiger Suche (vgl. Hinweis: Zwei unterschiedliche Implementierungen): Die serverseitige Suche unterstützt Wildcards hinter =, die clientseitige JavaScript-Suche nicht – die behandelt = und " als äquivalent." „wörtlich genommen“, also beachtet, bei der Schreibweise mit =-Operator dagegen ignoriert.>, <, >= und <=>Berthold wird also nur auf Tabellenzellen zutreffen, deren Inhalt bei alphabetischer Sortierung hinter »Berthold« einsortiert würde, also Namen wie »Anton« oder »Berta« ausfiltern.>=15.05.2025 alle Zeilen mit einem Datum vor diesem 15. Mai ausfiltern.Falls Sie sich fragen, warum bekannte Unterschiede beibehalten wurden und die Suchroutinen in diesem Hinblick nicht angeglichen wurden: Das hat teils technische Gründe, und teils hängt es damit zusammen, dass nur die serverseitige Suche im Online-Übungssystem eine Eigenentwicklung ist, die wir anpassen können, während die clientseitige Suche aus einer Standard-Javascript-Library stammt. In Fällen, in denen wir die serverseitige, eigene Lösung besser finden – gerade im Hinblick aufs Durchsuchen wirklich umfangreicher Tabellen, für die ja die serverseitige Implementierung verwendet wird –, haben wir sie absichtlich so entwickelt und gelassen und nicht nur um der Einheitlichkeit willen „verschlechtert“. ↩︎