# Zeilenumbruch in String nach jeweils x Zeichen einfügen?



## netzgoetter (17. Mrz 2006)

Ich habe das Problem bei einen langen *Textstring nach x Zeichen einen Zeilenumbruch* einzufügen.

Beispiel 


```
"Dies ist eine Text mit
Zeilenumbrüchen
und viellllllllllllllllllllllllllllllllllllllllllllllllllllllllllllen überlangen Zeilen"
```

Nach zB. 22 Zeichen soll wenn in der Zeile nicht schon ein Zeilen Umbruch vorhanden, einen Zeilenumbruch eingefügt werden:


```
"Dies ist eine Text mit
Zeilenumbrüchen
und viellllllllllllll
llllllllllllllllllllll
llllllllllllllllllllll
llen überlangen Zeilen"
```

Gibt es hierfür schon eine Methode oder wie geht man am besten vor?


----------



## mikachu (17. Mrz 2006)

hi, also die zeilenumbrüche kriegst du mit

```
s=s.substring(0, xXx)+'\n'+s.substring(xXx);
```
hin, wobei das 'xXx' für die länge steht.

das ist das beispiel für einen zeilenumbruch!


----------



## thE_29 (17. Mrz 2006)

```
StringBuffer strBuf = new StringBuffer("Dies ist eine Text mit\nZeilenumbrüchen\nund viellllllllllllllllllllllllllllllllllllllllllllllllllllllllllllen überlangen Zeilen");
    for(int x = 1; (22 * x) <= strBuf.length(); x++)
      strBuf.insert(22 * x,"\n");
    System.out.println(strBuf.toString());
    //oder auch
    strBuf = new StringBuffer("Dies ist eine Text mit\nZeilenumbrüchen\nund viellllllllllllllllllllllllllllllllllllllllllllllllllllllllllllen überlangen Zeilen");
    System.out.println("\n\n");
    strBuf = new StringBuffer(strBuf.toString().replaceAll("\\\n",""));
    for(int x = 1; (22 * x) <= strBuf.length(); x++)
      strBuf.insert(22 * x,"\n");
    System.out.println(strBuf.toString());
```




			
				Ausgabe hat gesagt.:
			
		

> Dies ist eine Text mit
> 
> Zeilenumbrüchen
> und
> ...


----------



## mikachu (17. Mrz 2006)

```
public static String splitString( String s, int col )
{
	StringBuffer res = new StringBuffer( s );

	col++;

	for( int i = 0; i <= ( s.length() / ( col - 1 ) ); ++ i )
		res.insert( i  * col, '\n' );
	return res.toString();
}
```

ausschrift bei:
String s = "abcdefghijklmnopqrstuvwxyz";
System.out.println( splitString( s, 2 ) );

ist:

ab
cd
ef
gh
ij
kl
mn
op
qr
st
uv
wx
yz


MfG mika


----------



## netzgoetter (17. Mrz 2006)

perfekt.

danke, ich hätte in paar Zeilen mehr gebraucht


----------



## mikachu (17. Mrz 2006)

gern geschehen


----------



## Slava (17. Mrz 2006)

```
public static String wordwrap(String str,int trenner){
		return str.replaceAll("(.{"+trenner+"})","$1\n");
	}
//--------------------------------------------

System.out.println(wordwrap(s,22));
```


----------

