Avatar billede qaaq Nybegynder
12. juli 2006 - 20:01 Der er 12 kommentarer og
1 løsning

RegExp til at erstatte x antal strings

Hej

Jeg har denne string "a|||b|||c|||d"
Strengen ||| skal erstattes med \n (sa det bliver et linieskift)

Jeg går ud fra at man skal bruge RegExp, men kan ikke lige gennemskue hvordan det skal gøres.
Avatar billede qaaq Nybegynder
12. juli 2006 - 20:02 #1
PS: antallet af ||| strenge i strengen kan være forskelligt
Avatar billede nielle Nybegynder
12. juli 2006 - 20:09 #2
Hvad skal |||| erstattes med? \n| eller \n?
Avatar billede erikjacobsen Ekspert
12. juli 2006 - 20:11 #3
Mener du så'n her?

  a="a|b||c|||d|||||||||||||f";
  alert(a.replace(/\|+/g,"\n"));
Avatar billede qaaq Nybegynder
12. juli 2006 - 22:22 #4
erikjacobsen: ja næsten, men "|" skal ikke erstattes med ny linie. Kun "|||"
Avatar billede qaaq Nybegynder
12. juli 2006 - 22:22 #5
hvordan gør jeg det?
Avatar billede erikjacobsen Ekspert
12. juli 2006 - 22:32 #6
Så kan du skrive den 3 gange:

alert(a.replace(/\|\|\|/g,"\n"));
Avatar billede nielle Nybegynder
12. juli 2006 - 22:33 #7
Eller sådan:

alert(a.replace(/\|{3}/g,"\n"));
Avatar billede qaaq Nybegynder
12. juli 2006 - 22:40 #8
perfekt nielle, smid et svar
Avatar billede erikjacobsen Ekspert
12. juli 2006 - 22:41 #9
Men er det fordi du har et antal strenge, der kan indeholde | som du vil have i en "noglesjovetegn-separeret liste" ? Fx

  Streng 1: a|b
  Streng 2: øllebrød

Dvs din liste bliver

  a|b|||øllebrød

Det kan selvfølgelig skilles ad på den måde vi har nævnt. Men hvis en af delstrengene begynder eller slutter med en |, så får du problemer:

  Streng 0: hererenstreg|

Som giver

  hererenstreg||||a|b|||øllebrød

som ikke vil give de 3 oprindelige strenge. Hvis det er noget du skal bruge for alvor, skal du måske tænke det igennem igen.
Avatar billede qaaq Nybegynder
12. juli 2006 - 22:47 #10
erikjacobsen: systemet skal bruges af en brugergruppe af mennesker som ikke kan finde ud af at lave tegnet | så det er ikke noget problem, men tak for din hjælp. smid et svar så får du også lidt point
Avatar billede erikjacobsen Ekspert
12. juli 2006 - 23:03 #11
Ellers tak, jeg samler slet ikke på point.
Havde det været et problem med |-tegnet, så er der selvfølgelig løsninger på det.
Hvis |-tegnet ikke er vigtigt, kunne du bare fjerne det inden du bruger strengene. :)
Avatar billede nielle Nybegynder
13. juli 2006 - 08:32 #12
Denne her er på huset. Erikjacobsen gav den rigtige løsning i 12/07-2006 22:32:21, og mit bidrag bestod sådan set bare i at sofistikere det lidt. Det kan jeg ikke tage point for, men ellers tak for tilbudet. :^)

Smid selv et svar, og tag så dine point tilbage.
Avatar billede qaaq Nybegynder
13. juli 2006 - 09:00 #13
Jamen det vil jeg så gøre.
men TAK for hjælpen begge to.
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