ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
2378
2378
EMPFEHLEN
-
Hallo Leute,
ich will meine Textdatei durchsuchen und dann z.b. gesamte Sätze durch einen anderen Text ersetzen.
z.b. bei folgenden Dummysätzen:
Hallo Peter, was machst du heute Abend?
Grüß dich Jim, was machst du heute Abend?
Bei diesem Satz will ich den String "Peter" suchen und an derselben Stelle durch "Lisa" ersetzen. Gleichzeitig soll "Jim" durch "Stefan" ersetzt werden...
Da gibt es doch sowas wie Pattern oder? Ich weiß nur nicht wie ich es dann an der richtigen Stelle ersetze.
Kann mir da jemand weiterhelfen? Danke,
JP
-
13.03.07 21:26 #2MeinerEiner_80 Tutorials.de Gastzugang
Moin!
Was genau hast du denn vor? Geh mal ein bisschen mehr ins Detail...
Bzw. um mal bei deinem Beispiel zu bleiben, wird Peter immer durch Lisa, und Jim immer durch Stefan ersetzt?
Wird die Ersetzung Jim -> XXX dadurch bestimmt, wodurch du Peter ersetzt?
*grüssle*
MeinerEiner
-
Hi,
ja das Beispiel war doof, gebe ich zu
Letztendlich will ich aus einem Ordner sämtliche Javadateien (ist ja wie text) laden und dann Beschriftungen von Buttons etc. ersetzen. Wenn also z.B. ein Button momentan JButton myButton = new JButton("Weiter") enthält, will ich durch alle Javadateien durchlaufen und "Weiter" durch "Next" ersetzen.
Schleifen etc. hab ich auch schon gemacht. Ich bräuchte nur nen Anstoß, wie ich die Datei auf "Weiter" durchsuchen kann und dann bei Fund an dieser Stelle durch "Next" ersetzen kann...
War das verständlich?
Danke
-
Noch ein kleiner Nachtrag. Gibt es die Möglichkeit einen ganzen Ordner in Java zu laden, so dass dann alle darin enthaltenen Dateien der Reihe nach durchlaufen werden (?) und dann nach Austausch der Begrifflichkeiten unter dem alten Namen abgespeichert werden?
ich weiß die hilfe zu schätzen. Thx
-
13.03.07 22:15 #5MeinerEiner_80 Tutorials.de Gastzugang
Also letztendlich willst du auf eine Internationalisierung deines Programms hinarbeiten, oder? Falls ja schau dir das mal an: http://java.sun.com/docs/books/tutor...tro/index.html
Falls es dir nur darum geht, ein für allemal deutsch nach englisch zu übersetzen, würde ich die deutsch -englisch päarchen in einer Properties Datei speichern :http://java.sun.com/j2se/1.4.2/docs/...roperties.html
mit den deutschen Wörtern als Key.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
BufferedReader in=new BufferedReader(new FileInputStream(datei)); String zeile=""; Properties prop = new Properties(); prop.load(new FileInputStream(properties)); KeySet<String> keys = prop.keySet(); while((zeile=in.readLine())!=null){ Iterator<String> iter = new keys.iterator(); while(iter.hasNext()){ String next = iter.next(); if(zeile.contains(next)){ zeile.replaceAll(next,prop.get(next))); } } }
Was deine zweite Frage angeht, hier im Forum müsste es schon Threads geben, um Ordner-/sDateitrukturen rekursiv durchzulaufen. Und für jede gefundene Datei lässt du dann die obige Methode durchlaufen...
*grüssle*
MeinerEiner
-
super. ich probiere es gleich morgen aus...
Vielen Dank
-
Hi,
sag mal, geht dein Code auch richtig?
Es gibt Fehler beim replace, key und FileInputStream
Weißt du da Rat?
-
Folgende Fehler kommen:
cannot find symbol; symbol : constructor BufferedReader(java.io.FileInputStream), location: class java.io.BufferedReader at line 67 (67:18)
cannot find symbol; symbol : class KeySet, location: class LesenSchreiben at line 76 (76:9)
java.util.Iterator is abstract; cannot be instantiated at line 78 (78:37)
Kann mir da jemand weiterhelfen
-
14.03.07 20:59 #9MeinerEiner_80 Tutorials.de Gastzugang
tüdelü.
tja das kommt davon wenn unsereiner meint, er könne mal schnell so ein bisserl code posten, ohne ihn vorher zu überprüfen
Verbessert sieht das ganze dann so aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
try{ BufferedReader in= new BufferedReader(new FileReader(fileToChange)); String zeile=""; Properties prop = new Properties(); prop.load(new FileInputStream(propertiesFile)); Set<Object> keys = prop.keySet(); while((zeile=in.readLine())!=null){ Iterator iter = keys.iterator(); while(iter.hasNext()){ String next = (String) iter.next(); if(zeile.contains(next)){ zeile = zeile.replaceAll(next,(String) prop.get(next)); } } } } catch(Exception e){ e.printStackTrace(); }Geändert von MeinerEiner_80 (14.03.07 um 23:27 Uhr)
-
Also super...
t bei mir nun fast auch.
Allerdings klappt die replace-Methode nicht... Er finde liest aus der Property die Einträge aber ersetzt werden sie nicht...
Liegt es an mir?
-
14.03.07 23:44 #11MeinerEiner_80 Tutorials.de Gastzugang
Moin!
Soweit wie ich das gepostet habe, stimmt das schon alles..
Was dir fehlt ist, die Änderungen auch noch zu speichern...dachte das würdest schon hinbekommen..
Nun denn:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
try{ BufferedReader in= new BufferedReader(new FileReader(fileToChange)); BufferedWriter out= new BufferedWriter(new FileWriter(tmpFile)); String zeile=""; Properties prop = new Properties(); prop.load(new FileInputStream(propFile)); Set<Object> keys = prop.keySet(); while((zeile=in.readLine())!=null){ Iterator iter = keys.iterator(); while(iter.hasNext()){ String next = (String) iter.next(); if(zeile.contains(next)){ zeile = zeile.replaceAll(next,(String) prop.get(next)); } } out.append(zeile+"\n"); } out.close(); in.close(); new File(fileToChange).delete(); new File(tmpFile).renameTo(new File(fileToChange)); } catch(Exception e){ e.printStackTrace(); }
*grüssle*
MeinerEiner
Ähnliche Themen
-
Bestimmte Wörter in einem DIV durch Link ersetzen
Von emptynick im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 14.07.08, 15:08 -
[VB.NET] Bestimmte Zeile einer Textdatei ersetzen
Von Masterclavat im Forum .NET CaféAntworten: 2Letzter Beitrag: 28.04.08, 21:51 -
[c#]Bestimmte Wörter färben?
Von davfighter im Forum .NET Windows FormsAntworten: 1Letzter Beitrag: 29.11.07, 08:32 -
Bestimmte Wörter in einer Textdatei ersetzen
Von Fr3dd1 im Forum Visual Basic 6.0Antworten: 5Letzter Beitrag: 15.03.07, 16:54 -
Bestimmte Wörter ersetzen
Von NoGFX im Forum PHPAntworten: 1Letzter Beitrag: 14.09.05, 12:51





Zitieren
Login





