29. januar 2003 - 15:33Der er
2 kommentarer og 2 løsninger
uddrag int fra String
Jeg har en lang string ex : test test test 12345678 test test Jeg ved ikke hvor lang den er eller hvor min 8 karakterer lang int er i sætningen. Men jeg har brug for en funktion der tager denne string som input parameter og returner int'en til sidst. Håber i kan hjælpe Takker
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvis du er sikker på der er mellemrum foran og efter int'en kan du bruge StringTokenizer til at at splitte String'en op i tokens, og derefter bruge Integer.parseInt() på hver token.
hvis strengen er s,
StringTokenizer tokenizer = new StringTokenizer(s); int tal; while(tokenizer.hasMoreTokens() { String s = tokenizer.nextToken(); try { tal = Integer.parseInt(s); break; } catch(IllegalNumberFormatException e) {} }
Hov. Der var lidt ekstra linier hvorfra jeg klippede det. Jeg prøver igen:
StringTokenizer st = new StringTokenizer(line, " "); int num; String s; while (st.hasMoreTokens()) { s = st.nextToken(); if (isAllDigits(s)) { num = Integer.parseInt(s); System.out.println("number=" + num); } else { System.out.println("string=" + s); } }
private static boolean isAllDigits(String s) { for (int i = 0; i < s.length(); i++) { if (!Character.isDigit(s.charAt(0))) { return false; } } return true; }
logikken er ihvertfald meget simpelt - bare test for om et token består af ene tal.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.