Avatar billede dueholm Praktikant
20. oktober 2002 - 23:47 Der er 13 kommentarer og
1 løsning

Fjerne char der er flere af i en streng!

Hejsa!

Er der nogen der kan en fin lille algortime for hvordan man fjerner en char der allerede findes i en streng....

Det er en smule svært at forklare, men måske kan dette eksempel forklare hvad jeg mener:

Oprindelig streng: 11123
skulle blive til: 123

Kan I regne den ud?

Kasper
Avatar billede thomas_regin Nybegynder
20. oktober 2002 - 23:57 #1
Er strengen altid lige lang?

Er det kun de 2 første karakterer der skal fjernes?

Mvh,

Thomas Regin.
Avatar billede dueholm Praktikant
21. oktober 2002 - 00:00 #2
Strengen kan variere i længde!

Antallet af "ens" chars kan også variere!

Den kan lige så godt være: 1111111111111123

Kasper
Avatar billede thomas_regin Nybegynder
21. oktober 2002 - 00:02 #3
Okay!.. Så det du skal bruge er de 3 sidste karakterer?

/thomas
Avatar billede thomas_regin Nybegynder
21. oktober 2002 - 00:06 #4
Denne funktion er ekvivalent (??) til ASP's/VB's right, funktion:

function Right(str, n)
        {
                if (n <= 0)
                        return "Invalid";
                else if (n > String(str).length)
                    return str;
                else
                  var iLen = String(str).length;
                  return String(str).substring(iLen, iLen - n);
        }

Så skal du bare kalde den med f.eks:

document.write (Right("11123","3"));

Mvh,

Thomas Regin.
Avatar billede dueholm Praktikant
21. oktober 2002 - 00:07 #5
nej helt så nemt er det faktisk heller ikke!
strengen kan også være 111122222333333    -> 123

(undskyld.. det kunne jeg ligeså godt have skrevet!!)

Kasper
Avatar billede thomas_regin Nybegynder
21. oktober 2002 - 00:10 #6
Aaaaaaah.. Nu begynder det så småt at dæmre!

Så det du siger er, at du vil ha' en funktion, der kan opfange hvor mange "dubletter" der er i en streng, og herefter samle dem, og skrive det ud i en streng?

F.eks 111888222444000 bliver til 18240 ??

Mvh,

Thomas.
Avatar billede dueholm Praktikant
21. oktober 2002 - 00:11 #7
YES!!!
:o)

Kasper
Avatar billede dueholm Praktikant
21. oktober 2002 - 00:11 #8
ups...
det var ikke meningen at jeg skulle accepte.... men værsgo!!
Avatar billede thomas_regin Nybegynder
21. oktober 2002 - 00:12 #9
Ha hahahahahah!!

Du får dem lige tilbage igen om lidt!!.. Sidder lige og roder med din funktion!..

/thomas
Avatar billede thomas_regin Nybegynder
21. oktober 2002 - 00:26 #10
Puha.. Det holdt hårdt, men vær så god alligevel:

<script language=javascript>
function doStuff(str)
{
var myChr = "";
var myString = "";

    for (i = 0; i < str.length; i++)
    {
        if (str.charAt(i) == myChr)
        {
            myChr = str.charAt(i);
        }
        else
        {
            myString += str.charAt(i);
            myChr = str.charAt(i);
        }
    }
    return myString;
}
document.write (doStuff('44112244005322222122'));
</script>

Håber, det var sådan du ville ha' det! ;)

Den tager lige så lange strings, som du ønsker!

Mvh,

Thomas.
Avatar billede dueholm Praktikant
21. oktober 2002 - 00:45 #11
Takker!!

Kasper
Avatar billede thomas_regin Nybegynder
21. oktober 2002 - 01:01 #12
Selv tak!

Virker det?

/thomas
Avatar billede dueholm Praktikant
21. oktober 2002 - 01:51 #13
Jeg prøver det af i morgen!

Jeg må vist hellere sove... zZzZzZzZ

Jeg giver lige besked!

Kasper
Avatar billede dueholm Praktikant
21. oktober 2002 - 12:50 #14
Det virker fint!

Tak for hjælpen!!

Kasper

*lukket*
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester