Hjælp med at ændre strings!

Tags:    java

Hej alle!

Jeg har brug for hjælp, med at kigge en string igennem og ændre i den.
Jeg er igang med at lave en metode som skal modtage en string, gøre det hele til uppercase, og den skal sætte en bindestreg for hvert 4 bogstav.

Jeg kan godt gøre det hele til uppercase, men gad godt vide hvordan jeg sætter et bindestreg, for hvert 4. bogstav.. Jeg skal vel konvertere min String til en eller anden kollektion, også bruge en iterator, til at gøre arbejdet, eller også findes der allerede en metode som kan gøre det, inden i String klassen...

Kan nogen hjælpe?

Mange tak :)



5 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 13 karma
Sorter efter stemmer Sorter efter dato
nu har jeg ikke kodet java før eller noget så er ikke sikker på om syntaxen er korrent osv, men idéen er sådan her.

Fold kodeboks ind/udJava kode 




Indlæg senest redigeret d. 02.06.2012 14:33 af Bruger #3427
Her er tilsvarende i Javascript, ved ikke om du kan konvertere det til Java

Fold kodeboks ind/udJScript kode 




Umindbart vil jeg tro, at denne java kode også virker:


Fold kodeboks ind/udJava kode 


Benyt dig af en StringBuilder, hvis du kun skal tilgå din string fra den samme thread, hvis du skal tilgå den fra flere forskellige threads, benyt dig, i stedet af en StringBuffer.



Hmm, var ikke klar over at det var så simpelt at initialisere et array, med en String, men det ser ud til at virke godt! Mange tak!

Men når jeg adderer "-", i for each løkken, ligger den det til slutningen af string'en... Så det kommer til at se sådan her ud: "XXXXXXXXXXXX---", istedet for "XXX-XXX-XXX-XXX"..

Jeg tror jeg skal bruge en kollektion, så jeg kan bruge en iterator..


Opdateret

Nej, glem det der, det var bare en fejl...



Indlæg senest redigeret d. 02.06.2012 14:47 af Bruger #16945
Benyt dig af en StringBuilder, hvis du kun skal tilgå din string fra den samme thread, hvis du skal tilgå den fra flere forskellige threads, benyt dig, i stedet af en StringBuffer.


Det er ligemeget. Strings er unmutable og derfor altid trådsikre. Den metode, du kom med, er også trådsikker så StringBuilder er den helt korrekte at bruge.



t