Zeilenumbruch entfernen aus datei ?!?!?

Status
Nicht offen für weitere Antworten.

KimKaze

Aktives Mitglied
Ich setzt mich im moment mit Dateiverarbeitung auseinander und steht jetzt vor einem neuen Problem wie ich z.B. eine kleine Zeichenkette aus meiner datei rauslösche...
die Datei sieht folgendermaßen aus:

Janine (14), Jochen (9), Joachim (1),
Jasadsa (3), Juppes (2), usw....

alles zwischen Janine und Jochen würde ich gerne löschen und einen Zeilenumbruch einfügen.
es sollte dann folgendermaßen aussehen

Janine
Jochen
Joachim
Jasadsa
Juppes

Wenn ich alle anderen Zeichen mit einem switch case abfange ist das zwar schön und gut aber sicher nicht die optimale lösung

Code:
	        		switch (cZeichen) {
		        		case '(':
		        			break;
		        		case ')':
	        				break;
		        		case '1':
	        				break;
		        		case '2':
	        				break;
		        		case '3':
	        				break;
		        		case '4':
	        				break;
		        		case '5':
	        				break;
		        		case '6':
	        				break;	
		        		case '7':
	        				break;
		        		case '8':
	        				break;
		        		case '9':
	        				break;
		        		case ',':
		        			sZeileAusgeben = (sZeileAusgeben + "\n");
		        			break;
		        		case ' ':
		        			break;
	        			default:
	        				sZeileAusgeben = (sZeileAusgeben + sZeileEinlesen.charAt(i));
	        				break;
		        			}

so weit mein code!
.useDelimiter( "\\s* \\s*" );
wie muss der aussehen für " (12), " bzw " (1), "


Code:
import java.io.*;

public class ZweiteUebungSchritt2 {

	public static void main(String[] args) throws IOException {
		String sZeileEinlesen;
		String sZeileAusgeben;
		char cZeichen;
    	File datei = new File("ZweiteUebungSchritt2.txt");
    	FileWriter ausgabestrom = new FileWriter(datei);
    	PrintWriter ausgabe = new PrintWriter(ausgabestrom);
		try {
			FileReader eingabestrom = new FileReader("ZweiteUebungDatei.txt");
			BufferedReader b = new BufferedReader(eingabestrom);			
			boolean ende = false;
		    while(!ende){
		    	sZeileAusgeben = "";
		    	sZeileEinlesen = b.readLine();
		        if (sZeileEinlesen == null){
		            ende = true;
		        	} // ende von then
		        else {
//		        	for (int i = (sZeileEinlesen.length() -1); i >= 0; i-- ){
		        	for (int i = 0; i <= (sZeileEinlesen.length() -1); i++){	
		        			cZeichen = sZeileEinlesen.charAt(i);

                                                Scanner scanner = new Scanner( sZeileEinlesen ).useDelimiter( "\\s* \\s*" ); 

		        			/* Meine Datei sieht so aus Janine (12), Jochen (9), .....
		   			         * An dieser Stelle würde ich gerne alle
		        			 * sonderzeichen, zahlen und blanks löschen
		        			 * oder auch den abschnitt " (xx), " in einen zeilenumbruch umwandeln
		        			 */
		        			
		        			
		        		} // ende for-schleife
		        	ausgabe.println(sZeileAusgeben);	
		        } // ende von else	
		    } // ende von while (!ende)
		    b.close();
		} // ende von try
		catch(FileNotFoundException e){
			ausgabe.println("Datei nicht gefunden!");
		} // ende von catch
		ausgabe.close();
		
	} // ende static void main

} // ende class ZweiteÜbungSchritt2
 
G

Guest

Gast
Wie wäre es, wenn du mit Regular Expression arbeitest? Ist sicher eine bessere Lösung.


Gruß


Alaska
 

jPat

Bekanntes Mitglied
so sollte es gehen:
Code:
String zeile = "Janine (14), Jochen (9), Joachim (1), Jasadsa (3), Juppes (2)";
			zeile = zeile.replaceAll("[( ) [0-9]]","");
			zeile = zeile.replaceAll(",", "\n");
			System.out.println(zeile);
 

KimKaze

Aktives Mitglied
da die datei ja aus mehreren zeilen besteht hat er automatisch schon nach jeder einen zeilenumbruch, das heißt zwischendurch gibt es immer eine leerzeile.

kann ich die leerzeile, also die 2 Zeilenumbrüche auch mit
Code:
zeile = zeile.replaceall("\n\n", "\n);
abfangen ?
 

jPat

Bekanntes Mitglied
Nein, da "\" ein Escape-Sequence für regex ist.
evtl (\\n\\n,"\n")

oder

Code:
String zeile = "Janine (14), Jochen (9),\n Joachim (1), Jasadsa (3), Juppes (2)";
        zeile = zeile.replaceAll("[( ) [0-9] \\n]",""); //<<<<<---- geändert
        zeile = zeile.replaceAll(",", "\n");
        System.out.println(zeile);

Falls du am Zeilenende kein komma hast dann mach vorher:

Code:
zeile = zeile.replaceAll("\\n",",");

dies entfernt alle newLines und ersetzt sie durch nen komma!

<edit>
 

KimKaze

Aktives Mitglied
wenn ich den befehl replaceAll("\\n","asldkjaslkdalksj");
mache tut sich nix.
der findet das zeichen \\n einfach nicht, egal mit was ich das replace
 

jPat

Bekanntes Mitglied
gibst du jede Zeile aus?
Kann ja sein dass du mit println eine Zeile ausgibst, und am ende noch ein \n steht ....

mal etwas anderes:
deine schleife zum einlesen oben: (ist ein wenig übersichtlicher)
Code:
while((sZeileEinlesen = b.readLine()) !=null){
// hier dein replace dann mal auf die konsole ausgeben


}
 

KimKaze

Aktives Mitglied
geht denn sowas wie
Code:
sZeileAusgeben.charAt(sZeileAusgeben.length()) = "";

oder gibts da was anderes ?

Code:
import java.io.*;
public class ZweiteUebungSchritt2 {
 	public static void main(String[] args) throws IOException {
		String sZeileEinlesen;
		String sZeileAusgeben;
    	File datei = new File("ZweiteUebungSchritt2.txt");
    	FileWriter ausgabestrom = new FileWriter(datei);
    	PrintWriter ausgabe = new PrintWriter(ausgabestrom);
		try {
			FileReader eingabestrom = new FileReader("ZweiteUebungDatei.txt");
			BufferedReader b = new BufferedReader(eingabestrom);			
			boolean ende = false;
		    while(!ende){
		    	sZeileAusgeben = "";
		    	sZeileEinlesen = b.readLine();
		        if (sZeileEinlesen == null){
		            ende = true;
		        	} // ende von then
		        else {
		        	for (int i = 0; i <= (sZeileEinlesen.length() -1); i++){
		        		sZeileAusgeben = sZeileEinlesen.replaceAll("[( ) [0-9] ]","");
		        		sZeileAusgeben = sZeileAusgeben.replaceAll(",", "\n");
		        	} // ende for-schleife
		        	ausgabe.println(sZeileAusgeben);	
		        } // ende von else	
		    } // ende von while (!ende)
		    b.close();
		} // ende von try
		catch(FileNotFoundException e){
			ausgabe.println("Datei nicht gefunden!");
		} // ende von catch
		ausgabe.close();
		
	} // ende static void main

} // ende class ZweiteÜbungSchritt2
 

jPat

Bekanntes Mitglied
Code:
for (int i = 0; i <= (sZeileEinlesen.length() -1); i++){
                    sZeileAusgeben = sZeileEinlesen.replaceAll("[( ) [0-9] ]","");
                    sZeileAusgeben = sZeileAusgeben.replaceAll(",", "\n");
                 } // ende for-schleife

das gedöns braucht du nicht.... da in sZeileEinlesen ja deine Zeile schon drin ist ...
 

jPat

Bekanntes Mitglied
Code:
try {
			BufferedReader in = new BufferedReader(new FileReader("deinPfad"));
			String line = "";
			while ((line = in.readLine()) != null){
			line = line .replaceAll("[( )[0-9]\\n]","");
                         line = line .replaceAll(",", "\n");
                          System.out.println(line);
			}
		
		
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
 

KimKaze

Aktives Mitglied
das hilft mir reichlich wenig.. meine schleife funktioniert einwandfrei...
das ändert ja nichts daran das er aus 2 zeilen die z.B. so aussehen

janine (12), hugo(33), egon(1),
flutschie(12), andi(2),

folgendes macht

janine
hugo
egon

flutschie
andi
 

jPat

Bekanntes Mitglied
Es gibt noch andere Zeichen für ein Zeilenumbruch, hab diese aber nicht parat. evtl mal im Internet bei google nachfragen .... oder forensuche ....

oder du splittest den String mit s.splitt(",") bevor du die \n einbaust und schreibst dann jeden für sich in eine Zeile ....
-> API
 

KimKaze

Aktives Mitglied
zeilenumbruch bei java ist in der regel

/r /n
/r wagenrücklauf
/n neue zeule
aber auch das funktioniert nicht...
gibts noch weitere zeichen die in java einen zeilenumbruch bedeuten die ich löschen könnte ?
 

jPat

Bekanntes Mitglied
Also sagen wir mal, dass in jeder Zeile hinten ein Komma steht.
und du mit writeLine in die Datei schreibst, dann wird
1. das komm durch nen \n eerstetzt ALso auch dass letzte komma
2. noch ein \n angefügt über das writeLine.
ergo: nim mal write.
 

KimKaze

Aktives Mitglied
mein gott dummheit sollte echt bestraft werden...

hast natürlich recht ^^

aber sowas überseh ich dann auch mal gerne..

"man sieht den wald vor lauter bäumen nicht mehr"

danke danke danke :lol: :applaus:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Am Ende eines Strings den Zeilenumbruch entfernen Java Basics - Anfänger-Themen 1
G Zeilenumbruch aus String entfernen ? Java Basics - Anfänger-Themen 13
JavaBeginner22 TextArea, ohne Zeilenumbruch? Java Basics - Anfänger-Themen 4
JUNSKI Zeilenumbruch JLabel Java Basics - Anfänger-Themen 1
G Benutzereingaben durch Zeilenumbruch trennen und in Array individueller Größe speichern Java Basics - Anfänger-Themen 20
Dawinartor Klassen Zeilenumbruch in JOptionPane.showMessageDialog Java Basics - Anfänger-Themen 8
S \n nicht in Zeilenumbruch umwandeln Java Basics - Anfänger-Themen 5
S Zeilenumbruch mit Scanner erkennen Java Basics - Anfänger-Themen 9
M Zeilenumbruch ab der 10. Zahl Java Basics - Anfänger-Themen 11
C Stringbuffer auf Zeilenumbruch überprüfen Java Basics - Anfänger-Themen 14
F StringBuilder: Zeilenumbruch nach x Zeichen ohne Worttrennung Java Basics - Anfänger-Themen 1
C Zeilenumbruch für langes Strings Java Basics - Anfänger-Themen 2
I Zeilenumbruch im mailto-body Java Basics - Anfänger-Themen 5
D Zeilenumbruch- .txt-Ausgabedatei Java Basics - Anfänger-Themen 10
AssELAss Xml nur nach End-Tag Zeilenumbruch?? Java Basics - Anfänger-Themen 7
A Zeilenumbruch im Code Java Basics - Anfänger-Themen 5
E Zeilenumbruch!? Java Basics - Anfänger-Themen 3
A Zeilenumbruch im Jlabel Java Basics - Anfänger-Themen 11
M ArrayList || Bei Ausgabe nach jedem 10. Eintrag Zeilenumbruch Java Basics - Anfänger-Themen 7
M Zeilenumbruch in JLabel Java Basics - Anfänger-Themen 51
M Zeilenumbruch in JTextarea Java Basics - Anfänger-Themen 4
J Input/Output Datei - Zeilenumbruch einlesen Java Basics - Anfänger-Themen 10
B Zeilenumbruch (zweidim. Matrix) Java Basics - Anfänger-Themen 2
N Denkanstoß Zeilenumbruch Java Basics - Anfänger-Themen 9
M Zeilenumbruch JTextPane Java Basics - Anfänger-Themen 2
C jTable in .txt - versteckter Zeilenumbruch? Java Basics - Anfänger-Themen 6
T Datentypen Zeilenumbruch im String (2-dimensionales array) Java Basics - Anfänger-Themen 4
D Zeilenumbruch für XMl File Java Basics - Anfänger-Themen 3
C Zeilenumbruch verhindern / Clrscr ? Java Basics - Anfänger-Themen 3
T System.out.printf Zeilenumbruch nach x Stellen Java Basics - Anfänger-Themen 4
A Abfrage Zeilenumbruch+.+Zeilenumbruch Java Basics - Anfänger-Themen 17
c_sidi90 jTextarea kein Zeilenumbruch erlauben Java Basics - Anfänger-Themen 4
O TxT Zeilenumbruch Java Basics - Anfänger-Themen 4
E Zeilenumbruch von String schneiden Java Basics - Anfänger-Themen 13
E Zeilenumbruch in JButton mit Variable Java Basics - Anfänger-Themen 2
M Zeilenumbruch nach x Zeichen Java Basics - Anfänger-Themen 8
C textfield zeilenumbruch Java Basics - Anfänger-Themen 2
chik Zeilenumbruch in einem JLabel Java Basics - Anfänger-Themen 6
M "spezieller" Zeilenumbruch beim Kopieren Java Basics - Anfänger-Themen 3
S Zeilenumbruch awt.textarea Java Basics - Anfänger-Themen 16
M BufferedReader.readline() Unix/Windows Zeilenumbruch Java Basics - Anfänger-Themen 4
J Zeilenumbruch in Java Java Basics - Anfänger-Themen 2
J Zeilenumbruch in Java zwischen zwei Strings Java Basics - Anfänger-Themen 6
G Problem mit Zeichen Zeilenumbruch sieht aus wie(Eckige Null) Java Basics - Anfänger-Themen 4
V Zeilenumbruch bei der Eingabe verhindern Java Basics - Anfänger-Themen 6
W Text mit Zeilenumbruch zeichnen? Java Basics - Anfänger-Themen 5
S Weicher Zeilenumbruch? Java Basics - Anfänger-Themen 2
M Konsolenausgabe ohne Zeilenumbruch Java Basics - Anfänger-Themen 3
G Zeilenumbruch in einem String Java Basics - Anfänger-Themen 21
0 Zeilenumbruch funktioniert nicht Java Basics - Anfänger-Themen 4
N automatischer Zeilenumbruch Java Basics - Anfänger-Themen 3
N zeilenumbruch einfügen Java Basics - Anfänger-Themen 3
B Char Feld -> "Zeilenumbruch" Java Basics - Anfänger-Themen 5
R Zeilenumbruch in einer Datei Java Basics - Anfänger-Themen 8
M sting komplett bearbeiten und nicht nach zeilenumbruch ende Java Basics - Anfänger-Themen 3
G Zeilenumbruch Java Basics - Anfänger-Themen 20
M JLabel - Zeilenumbruch Java Basics - Anfänger-Themen 2
G Automatischer Zeilenumbruch bei einer TextArea Java Basics - Anfänger-Themen 16
G Zeilenumbruch in String variable Java Basics - Anfänger-Themen 4
F Zeilenumbruch Java Basics - Anfänger-Themen 9
L Plattformunabhängiger Zeilenumbruch Java Basics - Anfänger-Themen 2
J neuer Zeilenumbruch in Datei Java Basics - Anfänger-Themen 7
L Zeilenumbruch Java Basics - Anfänger-Themen 3
D zeilenumbruch feststellen Java Basics - Anfänger-Themen 8
D zeilenumbruch EOF Java Basics - Anfänger-Themen 2
D ausgabe verändern (statt zeilenumbruch leerzeichen) Java Basics - Anfänger-Themen 2
B In einem Label "Zeilenumbruch" Java Basics - Anfänger-Themen 4
T BufferedWriter Zeilenumbruch Java Basics - Anfänger-Themen 2
P Borland Jbuilder X - Zeilenumbruch im Source Code ? Java Basics - Anfänger-Themen 2
D FileWriter write? Zeilenumbruch ? Java Basics - Anfänger-Themen 4
T JTable, DB, Zeilenumbruch Java Basics - Anfänger-Themen 25
K Zeilenumbruch in Datei schreiben Java Basics - Anfänger-Themen 2
V Zeilenumbruch in Tooltips Java Basics - Anfänger-Themen 13
T readLine ohne anschließenden Zeilenumbruch? Java Basics - Anfänger-Themen 2
G wie 'tabs' und 'zeilenumbruch' in textfile einbauen? Java Basics - Anfänger-Themen 5
G gesteuerter Zeilenumbruch Java Basics - Anfänger-Themen 2
G jEditorPane: inhalt ohne zeilenumbruch darstellen. wie? Java Basics - Anfänger-Themen 3
D Zeilenumbruch & Überschrift Java Basics - Anfänger-Themen 12
N Zeilenumbruch im StringTokenizer?? Java Basics - Anfänger-Themen 4
B Zeilenumbruch blos wie? Java Basics - Anfänger-Themen 4
M Zeilenumbruch im Textfeld Java Basics - Anfänger-Themen 5
G automatischer Zeilenumbruch Java Basics - Anfänger-Themen 5
Rxiiz Objekt aus ComboBox entfernen Java Basics - Anfänger-Themen 4
L Buchstaben entfernen zipZap Java Basics - Anfänger-Themen 8
padde479 Zeile entfernen TableModel Java Basics - Anfänger-Themen 11
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
E Elemente aus Liste entfernen und hinzufügen Java Basics - Anfänger-Themen 3
B Objekt aus generalisierter Liste entfernen Java Basics - Anfänger-Themen 11
G Bei dynamischer Arrayliste nach jeder Auswahl Zahl entfernen Java Basics - Anfänger-Themen 3
A JTextArea entfernen und durch neuen Text ersetzen Java Basics - Anfänger-Themen 8
Lion.King Dupklikationen entfernen Java Basics - Anfänger-Themen 4
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
bluetrix Hash Set hälfte entfernen Java Basics - Anfänger-Themen 7
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
A Jedes zweite Element eines Arrays entfernen Java Basics - Anfänger-Themen 30
T Leerzeichen im String entfernen Java Basics - Anfänger-Themen 6
EchtKeineAhnungManchmal Controller aus FXML Datei entfernen Java Basics - Anfänger-Themen 49
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
R Mehrere Buchstaben aus einem String entfernen Java Basics - Anfänger-Themen 1
Y Knoten an einem gegebenen Index aus einer Liste entfernen. Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben