Java Multi Line String in verschiedene Array Felder?

FrazeColder

Lt. Commander
Dabei seit
Okt. 2013
Beiträge
1.572
Hey Community,

Ich schon wieder... haha ;)
Ja, bin gerade etwas am spamen. Aber ich denke nicht, dass es in meine zwei anderen Threads passt.

Ich habe schon gegoogelt und bin nur hierrauf gestoßen:
http://stackoverflow.com/questions/878573/java-multiline-string

Wie kann ich mehrere Zeilen String mit einmal Pasten, aber in verschiedene Array Felder füllen?
Sagen wir mal, ich habe 3 URL's. In meinem Fall für das Projekt, was ich machen will.

Ich bin schon im Debugger duchgelaufen und wenn ich das so in die Konsole paste, nimmt er immer nur den ersten Link.
Wie kann ich aber jetzt sagen, nimm alles und splitte jeweils bei https und setzte das dann in die Array Felder.

MfG und Danke!
 

Killkrog

Lt. Junior Grade
Dabei seit
Jan. 2006
Beiträge
320
split() benutzt RegEx. Schau dir dazu die Doku an. Besonders Pattern.DOT_ALL
 

Rossie

Captain
Dabei seit
Dez. 2010
Beiträge
3.996
Wie kann ich mehrere Zeilen String mit einmal Pasten, aber in verschiedene Array Felder füllen?
Den String splitten (am einfachsten geht es mit regulärem Ausdruck, ansonsten muss man etwas mehr Code schreiben), und das Array (warum keine Collection?) mit den einzelnen String befullen.



Ich bin schon im Debugger duchgelaufen und wenn ich das so in die Konsole paste, nimmt er immer nur den ersten Link.
Wie kann ich aber jetzt sagen, nimm alles und splitte jeweils bei https und setzte das dann in die Array Felder.
Meine Glaskugel ist gerade außer Betrieb ;) Wenn Du den relevanten Code postet, könnte man herausfinden, was Du falsch machst.
 

FrazeColder

Lt. Commander
Ersteller dieses Themas
Dabei seit
Okt. 2013
Beiträge
1.572
Mein Problem ist ja, Java erkennt den ersten Link und da dran hängt leider nix anderes.
Sonst würde ich ja eine Fehlermeldung bekommen, URL nicht erkannt.

Und dann wüsste ich auch, wie ich das Spliten müsste. Wahl weiße mit split() oder StringTokenizer.
Ergänzung ()

Code:
ArrayList<String> linkList = new ArrayList<String>();
String input = new String(Console.readln());
linkList.add(input);
 

Rossie

Captain
Dabei seit
Dez. 2010
Beiträge
3.996
Ist das der exakte Code? Console.readln() kommt von welcher Klasse?

Falls das nur ein Typo ist: Wieviele Zeilen liest Console#readline() noch mal ein?
 

FrazeColder

Lt. Commander
Ersteller dieses Themas
Dabei seit
Okt. 2013
Beiträge
1.572
Die kommt aus einer Libary...
Aber ich sehe das Problem gerade... Console.readln()...

Die liest nur eine Zeile. Kein Wunder wieso ich keine Error Message bekomme!
 

hroessler

Commander
Dabei seit
Okt. 2013
Beiträge
3.009
Hallo Leute,
ich verstehe eines nicht: Wenn ihr schon OOP Programmiert, dann benutzt doch die Objekte im JDK und frickelt nicht mit Strings rum. Genau den Split den du benötigst bietet die Klasse java.net.URL schon fertig an...

Greetz
hroessler
 

FrazeColder

Lt. Commander
Ersteller dieses Themas
Dabei seit
Okt. 2013
Beiträge
1.572
Ich suche kein Split. Ich versuche nur mehrere Zeilen mit einmal einzulesen und weiß leider nicht wie...?!
In der Console Libary ist leider keine Methode für mehrere Lines vorhanden.

Weiß jemand, wie ich das umsetzte?
 

FrazeColder

Lt. Commander
Ersteller dieses Themas
Dabei seit
Okt. 2013
Beiträge
1.572
Sprich, so?
"Scanner input = new Scanner(System.in);"

Allerdings finde ich dann im Debugger kein Link und auch mit "input.toString();" bekomme ich nichts heraus!
 

FrazeColder

Lt. Commander
Ersteller dieses Themas
Dabei seit
Okt. 2013
Beiträge
1.572
Ich bin jetzt seit 14 Uhr dran und habe heute keine Lust mehr. Sorry Jungs hahaha
Bis moin
Ergänzung ()

Ich habe mich nochmal durch den Scanner gelesen, doch stoße jetzt auf das Problem einer Endlosschleife...

Code:
Scanner inputBuilder = new Scanner(System.in);
String buildingInput = new String();
    
  while(inputBuilder.hasNextLine())
    buildingInput = buildingInput + inputBuilder.nextLine();

  Console.println(buildingInput);
Wie kann ich eine Variable Zahl an Lines einlesen und dann mit dem Programm fortfahren?
 

striker159

Lt. Junior Grade
Dabei seit
Dez. 2008
Beiträge
304
erst die anzahl der links einlesen, dann entsprechend viele zeilen einlesen.

oder du definierst eine zeichenfolge, die sagt, dass jetzt alles eingelesen wurde.
 

FrazeColder

Lt. Commander
Ersteller dieses Themas
Dabei seit
Okt. 2013
Beiträge
1.572
und wie soll ich die anzahl der links einlesen?
manuell eingeben?

habe ich ja!
sobald -print/-clear/-save oder -help eingegeben wird, führt er den befehl der sich hinter dem string verbirgt aus!
Ergänzung ()

Hinzu kommt ja noch, dass ich alle Links gespeichert habe.
Sieht so aus:

(Zeile 1) Link absatz
(Zeile 2) Link absatz
(Zeile 3) Link absatz

und ich will, dass mein Programm alle Zeilen einlist, bis zu letzten URL!
Aber da ich ja immer ein Enter an der letzten Zeile habe, kann ich auch schlecht sagen endswWith(13) ...
13 = Ascii Code für Enter...
 
Zuletzt bearbeitet:

striker159

Lt. Junior Grade
Dabei seit
Dez. 2008
Beiträge
304
ja manuell die anzahl der links eingeben. zb 4. und dann for i = 0, i < 4 einlesen.


oder der zeite vorschlag.

deine liste um ein schlusswort am ende erweitern, zb
url1
url2
"bla"

und dann in der schleife prüfen ob die eingelesene zeile "bla" ist. wenn ja, abbruch.

oder aus textdatei einlesen. da hast du das endesymbol schon mit drin (EOF)
 

Rossie

Captain
Dabei seit
Dez. 2010
Beiträge
3.996
Ein solches CLI-Interface ist für den Zweck etwas unhandlich, aber wenn es zum Lernen ist, machen weitere Eingaben vielleicht sogar Sinn. Ich würde hier allerdings einfach eine weitere Abbruch-Bedingung einfügen: die Länge des Strings.

Wenn Du beim Pasten darauf achtest, dass der Text mit einer Zeilenschaltung endet, reicht danach die Eingabe der Enter-Taste (weil leerer String). Ansonsten müsstet Du 2x Enter drücken.

Oder Du definierst einen weiteren Delimiter für Scanner. Dann darf dieser Delimiter aber natürlich nicht in den URLs vorkommen.
 
Top