# String in String Array splitten



## Taramsis (28. Jul 2010)

Hi Leute,

ich versuch grad eine String, dass ich aus Matlab ausgelesen habe in Java zu bearbeiten! Mein eingelesener String sieht ungefähr so aus:



> ans =
> 
> 0.0
> 0.1



Es sind genau 101 Werte! Nun möchte ich zum einen das "ans =" loswerden und die ganzen leerzeichen! Ich habe im Netz etwas über pattern gelesen und folgendes nicht erfolgreich probiert.

```
String[] tempSplit = new String[200];
tempSplit = Pattern.compile(" ").split(out);
System.out.println(Arrays.toString(tempSplit));
```

Nun werden alle leerzeich von Kommas ersetzt!?
Würde mich über jede Hilfe freuen!?


----------



## SlaterB (28. Jul 2010)

new String[200]; kannst du dir sparen, split legt eh ein neues Array an, schreibe
String[] tempSplit = Pattern.compile(" ").split(out);
bzw.
String[] tempSplit = out.split(" ");

und das Array enthält dann lauter bereinigte Teilstring, die Komma kommen nur durch die Ausgabe,
Arrays.toString() fügt sie hinzu, aber nicht ins Array, nur fürs System.out.println

wenn du kein Array willst, verwende replace()


----------



## Der Müde Joe (28. Jul 2010)

>Nun werden alle leerzeich von Kommas ersetzt!?

Nö, das ist nur die Ausgabe vom Array. [element1 , element2 , ..... , lastElement]

sowas?:


```
String s = "ans=\n\n\n0.1\n0.2";
String[] splitet = s.split("\\s");
List<String> list = new ArrayList<String>();
for (int i = 1; i < splitet.length; i++) {
	if (splitet[i] == null || splitet[i].length() == 0) {
		continue;
	}
	list.add(splitet[i]);
}
for (String str : list) {
	System.out.println(str);
}
```


----------



## SlaterB (28. Jul 2010)

oder auch

```
public class Test
{
    public static void main(String[] args)
    {
        String st = " aa   bb\n ww k";
        System.out.println(Arrays.toString(st.split(" ")));
        System.out.println(Arrays.toString(st.trim().split(" +")));
        System.out.println(Arrays.toString(st.trim().split("\\s+")));
    }
}
```


----------



## Michael... (28. Jul 2010)

Taramsis hat gesagt.:


> Nun möchte ich zum einen das "ans =" loswerden


durch substring z.B.

```
out = out.substring(out.indexOf("=")+1);
```
Sicher, dass in dem String ausser Leerzeichen keine weiteren white spaces enthalten sind?
Ich würde das in etwa so lösen:

```
out = out.substring(out.indexOf("=")+1).trim();
System.out.println(out);
String[] values = out.split("\\s");
```



Taramsis hat gesagt.:


> Nun werden alle leerzeich von Kommas ersetzt!?
> Würde mich über jede Hilfe freuen!?


Wo sollen da Kommas gesetzt werden? Ich nehme an Du siehst Kommas in der Ausgabe, das liegt aber an Arrays.toString() in den Feldern des Arrays sind keine Kommas drin - ausser es waren vorher schon welche vorhanden;-)


----------

