Java String (welcher sich über mehrere Zeilen zieht) in eine String Array umwandeln wie?

  • Antworten:5
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 21

29.05.2016, 18:53:23 via Website

Hallo, ich möchte wie der Titel beschreibt einen String welcher einen Quellcode enthält
zu einer Zeilen basierten Array umwandeln, in C# würde ich dies
mittels der Split Befehl bei "\n" trennen jedoch wenn ich das in Java versuche ist die Array
leer? Was mache ich falsch?

result.split("\n");

der String result ist der Quellcode (welcher auch nachweislich richtig ausgegeben wird)

— geändert am 29.05.2016, 18:54:24

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.177

29.05.2016, 18:56:44 via Website

In strings hast du meist nicht nur \n sondern auch \r o.ä..
Dafür gibt es die Systemkonstante:
String eol = System.getProperty("line.separator");
an dieser kannst du mit dem Splitbefehl splitten und du bekommst gewünschtes Ergebnis

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
  • Forum-Beiträge: 21

29.05.2016, 19:06:42 via Website

Ich denke das ich dies mit dem System.getProperty nicht ganz verstanden habe,
was muss ich jetzt mit dem ungesplittetem result machen damit es funktioniert?
Am besten schon in Code Form?

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.177

29.05.2016, 19:36:44 via App

die getProperty holt dir den Zeilentrenner.
Daran musst du dann splitten.

string[] arr = meinString.Split(eol);

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gelöschter Account
  • Forum-Beiträge: 72

29.05.2016, 19:44:56 via Website

Jonah H.

Ich denke das ich dies mit dem System.getProperty nicht ganz verstanden habe,

Hi,

System ist eine Java Klasse des Java-Systems die immer vorhanden ist.

getProperty ist eine Funktion dieser Klasse mit der es möglich wird Systeminformationen abzufragen. Diese Informationen liegen als hashtable vor, daher auch der Schlüssel als Text in diesem Fall ("line.separator").

Über die Klasse System lassen sich sehr viele Informationen über das "System" (PC) abfragen. Experimentiere damit ein bisschen :)

Grüße

Antworten

Empfohlene Artikel