trc Geschrieben 7. November 2002 Geschrieben 7. November 2002 hi, kennt jamand ne api, mit der man einen strin, strinbuffer oder etwas ähnliches nach einem bestimmten wort mit hilfe von wildcards (*,?, usw) durchsuchen kann? das kann man natürlich auch selbst schreiben, aber warum das rad neu erfinden... mfg trc Zitieren
Jaraz Geschrieben 7. November 2002 Geschrieben 7. November 2002 Hi, Jakarta Regexp ist dein Freund. http://jakarta.apache.org/regexp/index.html Gruß Jaraz Zitieren
trc Geschrieben 12. November 2002 Autor Geschrieben 12. November 2002 hi, die api scheint ja sehr schön und gut zu sein, doch komm ich mit der doku nicht so ganz klar! RE re = new RE("Win"); String ergebnis[] = re.grep(textObject); soweit ist es ja richtig, wenn jetzt in meinem TextObject "Windows" und "Linux" drin stehn, findet er nur Windows! Ist ja auch richtig so!!! wenn ich RE re = new RE("in"); findet er beides, warum? keins von beiden beginnt mit in? wie muß ich dem teil sagen das das zu suchende Wort mit z.B. in anfangen muß und es nicht nur reicht wenn es irgendwo im Wort drin vorkommt. Das gleiche gilt auch fürs enden mit bestimmter einer Zeichenfolge Wenn ich dan mit RE re = new RE("in*"); suche und in meinem TextObject steht "Windows" "Linux" und "Unix" findet er alle drei! :confused: ???????????????????????????? mfg trc Zitieren
Florian_K Geschrieben 12. November 2002 Geschrieben 12. November 2002 Originally posted by trc [...] wenn jetzt in meinem TextObject "Windows" und "Linux" drin stehn, findet er nur Windows! Ist ja auch richtig so!!! wenn ich RE re = new RE("in"); findet er beides, warum? keins von beiden beginnt mit in? Hi trc! Perfectly right. In "Windows" und "Linux" befindet sich beides "in". Du suchst quasi nach *in*. Reguläre Ausdrücke (regular expressions) sind um ein vielfaches Vielseitiger und am Anfang auch komplizierter als simple Wildcards. Um am Anfang nach "in" zu suchen brauchst du den Ausdruck "^in" - am Ende "in$". Mehr Infos in english oder deutsch . Gruß, Florian Zitieren
trc Geschrieben 12. November 2002 Autor Geschrieben 12. November 2002 Aha, vielen Dank! :marine D.h. also Win* == ^Win *x == x$ *dow*== dow aber wie such ich nach: W*ws Wär toll wenn mir das noch schnell einer sagen könnte. Dann bin ich für heute wunschlos Glücklich. Vieleicht eins noch. Suche noch ne API mit der man mp3 tags auslesen kann!!! Nochmals Vielen Dank mfg trc Zitieren
themaster Geschrieben 14. November 2002 Geschrieben 14. November 2002 Es würde auch mit den eingebauten RegEx in Java 1.4 gehen, dort ist auch keine extra Bibliothek notwendig. http://java.sun.com/j2se/1.4.1/docs/api/java/util/regex/package-frame.html Zitieren
Florian_K Geschrieben 15. November 2002 Geschrieben 15. November 2002 Mahlzahn!Originally posted by trc aber wie such ich nach: W*ws Sorry, melde mich erst jetzt. Also, so einfach ist das nicht 1 zu 1 umzusetzen, aber ein effektiv ählicher regulärer Ausdruck könnte "W.*ws" heißen. Wenn nichts davor und dahinter stehen soll sogar "^W.*ws$". Kleine Legende: ^ = Anfang der Zeile $ = Ende der Zeile . = beliebiges Zeichen * = beliebiges Vorkommen (nur in Verbindung mit vorangestelltem Zeichen: Ot*o findet "Otttto" und "Oo", nicht "Othello") Lies dir mal was über RegExp durch, das ist echt ein super Dingen. Kann man viel mit machen, vor allem bei Suchen/Ersetzen. Gruß und schönes WE, Florian Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.