[java]Het splitten van een string-->integer

Pagina: 1
Acties:

  • urkelman
  • Registratie: December 2003
  • Laatst online: 29-04 08:49
Is het mogelijk om in java een string te splitten??
ik heb bijvoorbeeld dit...
JButton button = (JButton) e.getSource();
String buttonText = button.getText();
int day = new Integer(buttonText).intValue();
setDay(day);
System.out.println("er is een knop ingedrukt"+ (JButton) e.getSource());

maar mijn buttontekst bevat eerst maximaal 2 integers daarna een spatie en dan de ordernaam eraan vast....

nu wil ik dat hij die 2 integers uit de string haalt...dus die string splitten.....hoe doe ik dat??

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

String.indexOf en String.subString

verder is het nogal RTFM en UTFS

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 04-05 14:55

Janoz

Moderator Devschuur®

!litemod

Met de StringTokenizer kun je een string splitten op een bepaalde tekens. Als je dit nu met spatie doet en het eerste element eruit haalt heb je een String met hierin het getal. Deze kun je met Integer.parseInt wel omzetten naar een int.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Onno
  • Registratie: Juni 1999
  • Niet online
Of zelfs gewoon String.split()... :+

  • urkelman
  • Registratie: December 2003
  • Laatst online: 29-04 08:49
Onno schreef op maandag 13 juni 2005 @ 17:02:
Of zelfs gewoon String.split()... :+
die lijkt mij beter!!!

maar goed ik heb dus die API bekeken en als beginner kom ik daar niet echt uit, ik wil hem op een spatie splitten....en dan wil ik de integer overhouden zeg maar.
ik d8 zelf buttonText.split( ); maar wat moet ik tussen de ( ) neerzetten dan??? ik moet nl een string en een integer er neerzetten...

  • Mischa_NL
  • Registratie: Mei 2004
  • Laatst online: 01-02-2023
op google vind je een hoop! niet te geloven gewoon!

java string.split

  • urkelman
  • Registratie: December 2003
  • Laatst online: 29-04 08:49
nou idd, stom van me natuurlijk...bedankt hoor!!!

  • Mischa_NL
  • Registratie: Mei 2004
  • Laatst online: 01-02-2023
No problemo. ;)

EDIT//

dit moet het dus worden :
code:
1
newstring = string.split(" ")

[ Voor 74% gewijzigd door Mischa_NL op 13-06-2005 17:41 ]


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 06-05 18:23

Robtimus

me Robtimus no like you

derk.d schreef op maandag 13 juni 2005 @ 16:30:
int day = new Integer(buttonText).intValue();
Je kunt beter parseInt gebruiken, dat scheelt weer de creatie van een object:
Java:
1
int day = Integer.parseInt(buttonText);
Doet verder precies hetzelfde (iig in 1.4.2), want daarin staat het volgende:
Java:
1
2
3
4
5
6
7
public Integer(String s) throws NumberFormatException {
    this.value = parseInt(s, 10);
}

public int intValue() {
    return value;
}

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


  • urkelman
  • Registratie: December 2003
  • Laatst online: 29-04 08:49
hmmm en deze die split dus de buttontext waar de dag (bijv 21) en de ordernaam in staat?

[ Voor 92% gewijzigd door urkelman op 13-06-2005 17:47 ]


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 06-05 18:23

Robtimus

me Robtimus no like you

Mischa_NL schreef op maandag 13 juni 2005 @ 17:39:
No problemo. ;)

EDIT//

dit moet het dus worden :
code:
1
newstring = string.split(" ")
Dat compilet waarschijnlijk niet eens, tenzij newstring een array van strings is, en dan is de naam niet logisch. Dus logischer is:
Java:
1
newstring = string.split(" ")[0];

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


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 06-05 18:23

Robtimus

me Robtimus no like you

derk.d schreef op maandag 13 juni 2005 @ 17:45:
hmmm en deze die split dus de buttontext waar de dag (bijv 21) en de ordernaam in staat?
Een combinatie het beste.
Dus:
Java:
1
2
3
4
5
6
7
8
try
{
    int day = Integer.parseInt(buttonText.split(" ")[0]);
}
catch (NumberFormatException e)
{
    // No number! handle this case
}
Dat NumberFormatException is voor het geval je string niet begint met een getal; als je zeker weet dat het altijd met een getal en spatie begint kun je de try-catch weglaten.

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


  • urkelman
  • Registratie: December 2003
  • Laatst online: 29-04 08:49
thnx!!!

Verwijderd

Ik ben meer pro de oplossing van Alarmnummer aangezien split nogal een dure methode is als je enkel een spatie als delimiter gebruikt.

  • momania
  • Registratie: Mei 2000
  • Nu online

momania

iPhone 30! Bam!

Ik zou eerder voor een oplossing gaan waar het design wat beter is.

Een simpele keuze zou zijn om het actioncommand te vullen met het getal dat je wilt hebben.
Dan kan je altijd de volledige actioncommand (een string) parsen naar een int en hoef je niet moeilijk te doen met substrings, spilts of stringtokenizers :)

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

actioncommand? Dat klinkt als dat vieze struts. Dat gebruiken we lang niet allemaal heur :)

  • momania
  • Registratie: Mei 2000
  • Nu online

momania

iPhone 30! Bam!

Verwijderd schreef op maandag 13 juni 2005 @ 21:11:
actioncommand? Dat klinkt als dat vieze struts. Dat gebruiken we lang niet allemaal heur :)
JButton heeft toch een attribute actionCommand :?
link

Die kan je voor dit soort zaken prima gebruiken toch? :)

[edit]
Het is sowieso natuurlijk fout om een label van je button als input te moeten gebruiken voor je applicatie.

[ Voor 22% gewijzigd door momania op 13-06-2005 22:02 ]

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

check :)

my bad |:(
Pagina: 1