WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   String Comparison mit Wildcards (http://www.wcm.at/forum/showthread.php?t=143560)

Daywalker23 01.09.2004 11:49

String Comparison mit Wildcards
 
Hallo!
Ich habe folgendes Problem:

Angenommen ich habe mehrere Dokumente mit verschiedenen Properties. Ich möchte mir nun von den Dokumenten nur die Properties mit dem Namen Wohnort anzeigen lassen. Dazu würde ich gerne Wildcards verwenden.

z.:B Wohn* soll alle Einträge anzeigen die mit Wohn beginnen.
*ohn* soll alle Einträge anzeigen in denen "ohn" vorkommt.

Wenn jedoch statt Wohn* nur Wohn eingegeben wird dann sollen nur die EInträge mit dem Namen Wohn angezeigt werden.

Oder bei *ort sollen nur die Properties angezeigt werden welche mit "ort" enden, wenn nur ort, ohne einen * eingegeben wird sollen nur die Properties mit dem Namen ort angezeigt werden.

Ich hoffe ihr wisst was ich meine.

Wie kann man sowas am einfachsten realisieren?

Hoffe ihr könnt mir helfen.

Danke

Gerald

kingchaos01 02.09.2004 00:03

wie wär's mit ein *bisschen* mehr info?
programmiersprache, datenbank, betriebssystem ....

Daywalker23 02.09.2004 13:25

Sorry, Programmiersprache C#.NET, Windows XP, keine Datenbank, ich lese Properties von Office Dokumenten aus, und möchte aufgrund von Filtereinstellungen nur bestimmte Properties haben(zb. Wohn* soll alle Properties die mit dem Namen Wohn beginnen auslesen

_m3 02.09.2004 14:11

http://msdn.microsoft.com/library/de...xpressions.asp

JackLemon 02.09.2004 14:17

So wie ich das sehe wirst du das selbst (programmiertechnisch) lösen müssen... An Deiner Stelle würd ich anfangs alle Properties zwischenspeichern (zB in zwei verschachtelten Hashtables) und dann nur diese durchsuchen - ist rein performancetechnisch sicher super, musst nur aufpassen dass du alle Updates mitbekommst und Deinen "Index" aktualisierst.
Das Durchsuchen der Names (und zusätzlich auch Values?) dann halt endweder quick 'n' dirty mit .StartsWith() / .EndsWith() wenn ein Stern da ist, oder aber gscheid (aber halt langsamer) mit System.Text.RegularExpressions. Musst ja nur alle Sterne im String durch *. ersetzen, und alle anderen Regex-Steuerzeichen escapen (zB .()|\ etc.), dann hast du schon ein primitives RegEx Pattern.


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag