# char[] - suchen/ löschen



## pe81 (25. Mai 2010)

Hallo an alle,

ich habe ein String st zb. "AAAABBBBCCCC" --> wandle das in ein 
char ch = st.toCharArray();

jetz willich zwei gleiche finden z.b "AA" --> das mache ich mit einer for-Schleife und das stellt kein problem dar

Meine Frage ist wie kann ich zeichen aus dem ch entfernen.d.h wenn ich "AA" gefunden habe soll der
ch = AABBBBCCCC aussehen.

Danke für die Hilfe
LG


----------



## Michael... (25. Mai 2010)

Löschen ist schwierig, da müsstest Du eine Liste verwenden.
Du könnest die nachfolgenden Felder nachrücken lassen und das frei gewordene auf null setzen - sofern das bei einen char[] geht.
Oder den inhalt in ein neues/kürzeres Array kopieren.


----------



## eRaaaa (25. Mai 2010)

Man könnte evtl. auch den StringBuilder dazu missbrauchen, der benutzt intern nämlich auch ein char-Array und bietet auch Methoden wie 
	
	
	
	





```
charAt(index)
```
, 
	
	
	
	





```
deleteCharAt(index)
```
 usw. an, dann musst du das Kopieren nicht selbst übernehmen.

Aber vllt gibts ja auch eine Möglichkeit das anders zu machen und das Löschen / Umkopieren / Verschieben ganz zu vermeiden?


----------



## guitarflow (25. Mai 2010)

Also ich würd dir da auch entweder StringBuilder oder StringBuffer empfehlen.

Machens im Studium auch immer mit den beiden. Bist am flexibelsten.
Ausserdem kannst du dann auch so Methoden wie "sort" anwenden, falls du mal was sortieren musst.

mfg,

Flo


----------



## pe81 (26. Mai 2010)

Danke für die jeweiligen Tipps
werde es dann so versuchen in der zukunft zu machen.

eine frage habe ich noch
wenn ich ein char[]array habe der werte drinnen hat.
Wie kann ich ein bestimmten wert 0 setzten d.h ich will diesen wert nicht mehr im array haben.

char[3] = null;
ich habe mit dem versucht aber er sagt incompatible typ
kann ir jemand einen Tipp geben
Danke

LG


----------



## SlaterB (26. Mai 2010)

ein char ist quasi ein kleiner int, einen int null gibts nicht, entscheide dich für einen Zahlwert von ungefähr -32000 bis +32000, z.B. 0


----------



## Landei (26. Mai 2010)

Oder nimm Character[] (da lassen sich Einträge auf null setzen) oder gleich List<Character> (da lassen sie sich sogar _löschen_). Aber StringBuilder ist hier wohl wirklich die beste Lösung.


----------

