von Guivanni » Mo, 27.03.2006 03:59
Hi,
es gibt sogenannte Regular Expressions die du dafür nutzen kannst. Das was wir hier brauchen ist der Querstrich
|
Also in deinem Bsp.:
- oSuche.SetSearchString("^01|^31")
Desweiteren musst du noch dem Such-/Ersetzen-Deskriptor mitteilen das es sich um eine RegularExpression handelt, dies machst du hierüber:
- oSuche.SearchRegularExpression = True
Nun aber
Achtung
- Du nutzt in deinem SearchString das Dach vor jedem String, dieses ist jedoch ein Schlüsselzeichen in Regular Expressions. Du solltest es nicht nutzen, außer du verwendest es zur Auswertung.
Dies könnte auch recht nützlich sein, da es ein weiteres kleines Problem gibt. Man kann nicht mehr
Nur Ganze Zellen durchsuchen, d.h. es werden auch Substrings deiner Suche gefunden. Wenn du bspw. oSuche.SetSearchString("10|11") suchst, dann selektiert er auch Einträge in Zellen die nicht genau dieser Zahlen(10 od. 11) entsprechen, sondern auch Zahlen wie bspw. 11000, 0010, 1011, usw. Kommt darauf an ob man es gerade so möchte. Wenn nicht ist es äußerst schwierig, genau die Elemente herauszufiltern die exakt dem Suchstring entsprechen.
Wenn man also nur den vollen Suchstring in jeder Zelle selektieren möchte, so kann man es über die folgenden beiden Expressions versuchen.
- ^ (Dach) steht für einen Zeilenanfang oder einen Zeichenkettenanfang. Mit dem Zeichen ^ am Anfang eines regulären Ausdrucks läßt sich dieser an einem Zeilenanfang verankern.
Dementsprechend paßt der Ausdruck a auf ein a an beliebiger Stelle in einem Text, der Ausdruck ^a hingegen nur auf ein a am Anfang einer Zeile oder eines Strings.
- $ (Dollar) steht für ein Zeilenende oder ein Zeichenkettenende. Mit dem Zeichen $ am Ende eines regulären Ausdrucks läßt sich dieser an einem Zeilenende verankern.
Analog zum Dach paßt der Ausdruck a$ nur auf ein a am Ende einer Zeile oder Zeichenkette.
Siehe auch in der Hilfe von OpenOffice unter dem Schlagwort "Reguläre Ausdrücke" Da stehen auch alle weiteren Schlüsselzeichen. Viel Erfolg!
Gruß Guivanni
Hi,
es gibt sogenannte Regular Expressions die du dafür nutzen kannst. Das was wir hier brauchen ist der Querstrich [b]|[/b]
Also in deinem Bsp.:
[list]oSuche.SetSearchString("^01|^31")[/list]
Desweiteren musst du noch dem Such-/Ersetzen-Deskriptor mitteilen das es sich um eine RegularExpression handelt, dies machst du hierüber:
[list]oSuche.SearchRegularExpression = True[/list]
Nun aber [b][u]Achtung[/u][/b]
[list]Du nutzt in deinem SearchString das Dach vor jedem String, dieses ist jedoch ein Schlüsselzeichen in Regular Expressions. Du solltest es nicht nutzen, außer du verwendest es zur Auswertung.
[/list] Dies könnte auch recht nützlich sein, da es ein weiteres kleines Problem gibt. Man kann nicht mehr [b]Nur Ganze Zellen[/b] durchsuchen, d.h. es werden auch Substrings deiner Suche gefunden. Wenn du bspw. oSuche.SetSearchString("10|11") suchst, dann selektiert er auch Einträge in Zellen die nicht genau dieser Zahlen(10 od. 11) entsprechen, sondern auch Zahlen wie bspw. 11000, 0010, 1011, usw. Kommt darauf an ob man es gerade so möchte. Wenn nicht ist es äußerst schwierig, genau die Elemente herauszufiltern die exakt dem Suchstring entsprechen.
Wenn man also nur den vollen Suchstring in jeder Zelle selektieren möchte, so kann man es über die folgenden beiden Expressions versuchen.
[list][b]^[/b] (Dach) steht für einen Zeilenanfang oder einen Zeichenkettenanfang. Mit dem Zeichen ^ am Anfang eines regulären Ausdrucks läßt sich dieser an einem Zeilenanfang verankern.
Dementsprechend paßt der Ausdruck a auf ein a an beliebiger Stelle in einem Text, der Ausdruck ^a hingegen nur auf ein a am Anfang einer Zeile oder eines Strings.
[/list][list][b]$[/b] (Dollar) steht für ein Zeilenende oder ein Zeichenkettenende. Mit dem Zeichen $ am Ende eines regulären Ausdrucks läßt sich dieser an einem Zeilenende verankern.
Analog zum Dach paßt der Ausdruck a$ nur auf ein a am Ende einer Zeile oder Zeichenkette.[/list]
Siehe auch in der Hilfe von OpenOffice unter dem Schlagwort "Reguläre Ausdrücke" Da stehen auch alle weiteren Schlüsselzeichen. Viel Erfolg!
Gruß Guivanni