spock84 Skrevet 21. april 2006 Del Skrevet 21. april 2006 Har allerede funnet en som kutter etter et gitt antall tegn, men det var ikke helt det jeg lette etter. Har bare svært grunnleggende kunnskaper i JSP/Java foreløbig, og dette tror jeg blir litt utenfor mine evner, så om noen kunne hjelpe meg å snekre sammen noe, evt. om noen allerede har en bra metode for dette, så setter jeg stor pris på det! Den jeg bruker nå ser sånn her ut: String truncateString(String value, int maxLength, String terminator){ if (value.length() < maxLength) return value; if (terminator == null) return value.substring(0, maxLength); return value.substring(0, Math.min(0, maxLength - terminator.length())) + terminator; } Lenke til kommentar
HV Skrevet 21. april 2006 Del Skrevet 21. april 2006 Hei Kanskje det er noe sånt som dette du er ute etter: public static void main(String[] args) { String s = "Det var en gang en fisk som ikke likte vann."; System.out.println(truncateString(s, 2)); } public static String truncateString(String value, int maxWordCount) { StringTokenizer st = new StringTokenizer(value, " "); String r = ""; for (int j = 0; j < maxWordCount; j++) { if (st.hasMoreTokens()) { r += st.nextToken() + " "; } } return r; } Lenke til kommentar
skylinepower Skrevet 21. april 2006 Del Skrevet 21. april 2006 At æ bruker er pprogram som heter for Easy Java kan noen lage noe jeg kan arbeide med og hvordan lagfer men spill via det programme? Lenke til kommentar
spock84 Skrevet 21. april 2006 Forfatter Del Skrevet 21. april 2006 HV: Jepp, nettopp! Akkurat det jeg var på utkikk etter. Tusen Takk! skylinepower: WTF? Lenke til kommentar
Patton Skrevet 22. april 2006 Del Skrevet 22. april 2006 Hei Kanskje det er noe sånt som dette du er ute etter: public static void main(String[] args) { String s = "Det var en gang en fisk som ikke likte vann."; System.out.println(truncateString(s, 2)); } public static String truncateString(String value, int maxWordCount) { StringTokenizer st = new StringTokenizer(value, " "); String r = ""; for (int j = 0; j < maxWordCount; j++) { if (st.hasMoreTokens()) { if (st.countTokens() == 1 || j == maxWordCount -1) { r += st.nextToken(); } else { r += st.nextToken() + " "; } } } return r; } 5963217[/snapback] Jeg modifiserte koden litt slik at " " ikke foyes til etter det siste ordet. Obs! Ikke testet. Lenke til kommentar
spock84 Skrevet 22. april 2006 Forfatter Del Skrevet 22. april 2006 (endret) Okei. Nå er den sånn jeg ville ha den. Gjort sånn at den tar høyde for at stringen er tom og at den legger til "..." om stringen blir kutta av. String truncateString(String value, int maxWordCount) { if("".equals(value)){ return value; } else{ StringTokenizer st = new StringTokenizer(value, " "); String r = ""; for (int j = 0; j < maxWordCount; j++) { if (st.hasMoreTokens()){ if (st.countTokens() == 1 || j == maxWordCount -1) { r += st.nextToken(); } else{ r += st.nextToken() + " "; } } } if(st.countTokens() == 0){ return r; } else{ return r+"..."; } } } Ser ellers i Java API-en at man frarådes å bruke StringTokenizer, da den er på vei ut. Er det noen alternative måter man kan gjøre dette på da? Endret 22. april 2006 av spock84 Lenke til kommentar
konaz Skrevet 22. april 2006 Del Skrevet 22. april 2006 Du kunne vel kanskje ha kjørte en split operasjon på stringen, og så henta ut antall ord du ønsket. String tmp = "Alle barna gikk til skolen"; String[] splittet = tmp.split(" "); Lenke til kommentar
Patton Skrevet 23. april 2006 Del Skrevet 23. april 2006 Ser ellers i Java API-en at man frarådes å bruke StringTokenizer, da den er på vei ut. Er det noen alternative måter man kan gjøre dette på da? 5967011[/snapback] Det er riktig, selv om alternativet String.split() faktisk er langsommere. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå