[Java] Bepaalde inhoud van String veranderen

Pagina: 1
Acties:

  • killingdjef
  • Registratie: Januari 2004
  • Laatst online: 19-10-2025
Ik heb een speciaal programma'tje die packets verstuurd. Een packet ziet er uit als bijvoorbeeld "12.133.41.121.2" waarbij ieder getal een betekenis heeft. Hierop terug krijg het programma'tje een string gestuurd, echter ook hierbij heeft ieder getal een specifieke betekenis.

Ik wil uiteindelijk een interperter maken en dit koppelen aan een GUI.

Mijn probleem is dat ik dus een string heb met getallen en scheidingstekens (zijn geen .'en maar er wordt een ASCII teken gebruikt) Nu wil ik dus de getallen scheiden.

String Packet = <getalreeks met scheidingstekens>
packet.split
packet.replaceAll("teken 1","teken2")

werken niet. Ik moet er waarschijnlijk dus een Vector van maken (ik weet namelijk nooit hoeveel waardes ik precies terug krijg) maar hoe doe ik dit precies?

Dus niet hoe ik een vector aan maak, maar hoe ik de string er dus in verwerk en zo chronologisch de waardes eruit kan halen.

Alvast bedankt!

  • RSchellhorn
  • Registratie: Augustus 2001
  • Laatst online: 24-04 18:57
De StringTokenizer van de standaard api will do the trick.

[ Voor 11% gewijzigd door RSchellhorn op 13-09-2005 16:51 . Reden: url vd frameset heb je niks aan :P ]

"Ik heb zo veel soep gegeten, dat kan een mens niet aan. Ik heb zo veel soep gegeten, kan bijna niet meer staan. Ik zat daar maar te slurpen achter die grote kop en als ik bijna klaar was, dan schepten ze weer op!" (Hans Teeuwen)


  • NetForce1
  • Registratie: November 2001
  • Laatst online: 23-03 10:29

NetForce1

(inspiratie == 0) -> true

Waarom werkt split niet? Dat zou prima moeten gaan hoor.
Java:
1
String[] tokens = packet.split("\uhhhh");

Waarbij hhhh de hexadimale waarde van je ascii-teken is
Alleen jammer dat het een legacy-class waarvan het gebruik door Sun wordt afgeraden.

[ Voor 50% gewijzigd door NetForce1 op 13-09-2005 16:52 ]

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


  • RSchellhorn
  • Registratie: Augustus 2001
  • Laatst online: 24-04 18:57
Humm idd, was me nog niet opgevallen. Weer wat geleerd! :)

split is dus the way to go.

"Ik heb zo veel soep gegeten, dat kan een mens niet aan. Ik heb zo veel soep gegeten, kan bijna niet meer staan. Ik zat daar maar te slurpen achter die grote kop en als ik bijna klaar was, dan schepten ze weer op!" (Hans Teeuwen)


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 30-04 19:28

Robtimus

me Robtimus no like you

Ik vraag me af waarom hij dan niet als deprecated is gemarkeerd.

Maar zowel split() als replace() werken wel, alleen die creeren een nieuw array / een nieuwe string. Die moet je aan een variabele toewijzen.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Verwijderd

Juist ja... Een String object is immutable... Dus, dat betekent dat je de string zelf nooit kunt wijzigen. En de split() functie dus een nieuw String object teruggeeft....

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 30-04 19:28

Robtimus

me Robtimus no like you

Array van strings, maar je bedoelt het goed ;)

More than meets the eye
There is no I in TEAM... but there is ME
system specs

Pagina: 1