|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--dataanalysis.tools.StringMatcher
ist in der Lage, die Vorkommen eines Wortes in einem Dokument zu bewerten. Als Standardfall wird der Suchstring pattern im String document gesucht.
?ber verschiedene Variablen kann kontrolliert werden, ob pattern in Worte zerlegt wird, und diese W?rter dann einzeln gesucht werden und ob Gro?-/Kleinschreibung unterschieden werden soll.
| Field Summary | |
private int |
currentpos
Interne Variable f?r Boyer-Moore-Suche |
private java.util.TreeMap |
delta1
Interne Variable f?r Boyer-Moore-Suche Aufgrund der Verwendung des Unicode-Zeichensatzes wird eine TreeMap benutzt. |
private int[] |
delta2
Interne Variable f?r Boyer-Moore-Suche |
private int |
documentlength
Interne Variable f?r Boyer-Moore-Suche |
protected boolean |
doPhraseSearch
bestimmt, ob nach dem kompletten Suchstring gesucht wird, oder nach einzelnen W?rtern. |
protected boolean |
isCaseSensitive
bestimmt, ob zwischen Gro?-/Kleinschreibung unterschieden wird. |
protected java.util.Vector |
keywords
enth?lt die einzelnen W?rter, nach denen gesucht werden soll. |
protected boolean |
mustFindAll
bestimmt, ob alle Suchw?rter gefunden werden m?ssen, oder nur eins. |
private boolean |
mustPrepareKeywords
Interne Variable zum cachen der Variablenaenderungen |
private int |
preparedWord
Interne Variable fuer SearchWord. |
protected java.lang.String |
theDocument
enth?lt den Dokumentstring. |
protected java.lang.String |
thePattern
enthaelt den uebergebenen Suchstring |
protected java.util.StringTokenizer |
thePatternTokenizer
wird benutzt, um das Suchmuster ggf. |
private java.lang.String |
theWord
Interne Variable fue Boyer-Moore-Suche. |
| Constructor Summary | |
StringMatcher()
initialisiert die Variablen des Stringmatchers. |
|
StringMatcher(java.lang.String pattern)
initialisiert den Such-String, sowie die Variablen(Standardwerte). |
|
| Method Summary | |
protected int |
doBoyerMooreSearch()
sucht das n?chste Vorkommen eines Musters im Dokument. |
int |
fastMatch()
setzt die schnelle Suche fort, wenn moeglich |
int |
fastMatch(java.lang.String document)
fuehrt eine schnelle Suche nach dem ersten Wort im gespeicherten Muster pattern im
uebergebenen Dokument document durch. |
boolean |
getDoPhraseSearch()
Get the value of doPhraseSearch. |
boolean |
getIsCaseSensitive()
Get the value of isCaseSensitive. |
boolean |
getMustFindAll()
Get the value of mustFindAll. |
double |
matchesTo(java.lang.String document)
sucht ein neues Dokument nach dem Suchstring ab. |
double |
matchesTo(java.lang.String document,
java.lang.String pattern)
sucht ein Dokument document nach pattern ab. |
protected void |
prepareBMSearch(java.lang.String word)
bereitet die Suche nach dem String word vor, indem die Arrays f?r die Boyer-Moore-Suche initialisiert werden. |
protected void |
prepareKeywords()
bereitet anhand der Variablenbelegung den Keyword-Vector vor, indem ggf. |
protected int |
searchWord(int number)
sucht das Dokument nach den Keyword number des Vectors keywords ab.Ist die aktuelle Position im Dokument < 1 ,="," so="so" wird="wird" zuerst="zuerst" prepareBMSearch
aufgerufen, anschlie?end wird die Suche mit |
void |
setDoPhraseSearch(boolean v)
Set the value of doPhraseSearch. |
void |
setIsCaseSensitive(boolean v)
Set the value of isCaseSensitive. |
void |
setMustFindAll(boolean v)
Set the value of mustFindAll. |
void |
setPattern(java.lang.String pattern)
setzt den Such-String und bereitet den keyword-Vektor vor. |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|
| Field Detail |
protected boolean isCaseSensitive
TRUE : Gro?-/Kleinschreibung wird unterschieden.
FALSE : Gro?-/Kleinschreibung wird nicht unterschieden.
FALSE .protected boolean doPhraseSearch
TRUE : Der komplette Suchstring mu? gefunden werden.
FALSE :Nur einzelne W?rter m?ssen gefunden werden. Ob alle W?rter gefunden werden m?ssen, wird durch die Variable mustFindAll bestimmt.
TRUE .protected boolean mustFindAll
TRUE : Die einzelnen W?rter in pattern m?ssen alle gefunden werden (AND-Verkn?pfung)
FALSE : Nur eins der W?rter in pattern mu? gefunden werden (OR-Verkn?pfung)
TRUE.private int[] delta2
private int currentpos
private int documentlength
private boolean mustPrepareKeywords
private int preparedWord
protected java.util.StringTokenizer thePatternTokenizer
keywords abgespeichert werden.protected java.util.Vector keywords
pattern) im ersten Element des keywords-Vectors abgelegt.protected java.lang.String theDocument
private java.util.TreeMap delta1
protected java.lang.String thePattern
private java.lang.String theWord
| Constructor Detail |
public StringMatcher()
isCaseSensitive = False
doPhraseSearch = True
mustFindAll = True
public StringMatcher(java.lang.String pattern)
| Method Detail |
public void setPattern(java.lang.String pattern)
public double matchesTo(java.lang.String document)
matchesTo(String,String).
public double matchesTo(java.lang.String document,
java.lang.String pattern)
document nach pattern ab. Einzelheiten der Suchart werden durch die Variablen isCaseSensitive, doPhraseSearch und mustFindAll bestimmt.document - ist der String, der durchsucht werden soll.pattern - ist der String, der gefunden werden soll.pattern in document wiederspiegelt.
Werden mehrere W?rter gesucht und ist mustFindAll=FALSE, so wird ?ber die einzelnen Werte gemittelt, ansonsten wird das Maximum der Einzelergebnisse benutzt (sofern alle Woerter gefunden wurden).public int fastMatch(java.lang.String document)
pattern im
uebergebenen Dokument document durch.public int fastMatch()
fastMatch(String)public boolean getDoPhraseSearch()
public void setDoPhraseSearch(boolean v)
v - Value to assign to doPhraseSearch.public boolean getIsCaseSensitive()
public void setIsCaseSensitive(boolean v)
v - Value to assign to isCaseSensitive.public boolean getMustFindAll()
public void setMustFindAll(boolean v)
v - Value to assign to mustFindAll.protected void prepareKeywords()
protected int searchWord(int number)
number des Vectors keywords ab.prepareBMSearch
aufgerufen, anschlie?end wird die Suche mit doBoyerMooreSearch gestartet.
- Parameters:
number - die Nummer des Suchwortes im Keywords-Vector
1>protected void prepareBMSearch(java.lang.String word)
word vor, indem die Arrays f?r die Boyer-Moore-Suche initialisiert werden. Au?erdem wird die Suchposition im Suchstring auf 1 (Anfang) gesetzt.protected int doBoyerMooreSearch()
prepareBMSearch bei der initialen Suche!public java.lang.String toString()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||