Avatar billede gadebarnet Nybegynder
09. september 2003 - 10:39 Der er 4 kommentarer og
1 løsning

flere split problemer

Jeg har en masse linier der skal splittes ved "," alle tegn inkluderet.

"Form","565","11","Trigger/Function","Form - OnAfterGetRecord()","0"
"Form","565","12","Code","  CoverageLine.SETRANGE("Object Type","Object Type");","57"
"Form","565","13","Code","  CoverageLine.SETRANGE("Object ID","Object ID");","57"


Som i kan se er der nogle steder dette:

("Object Type","Object Type")

Det ville jo tælle som et split... Men det SKAL DET IKKE

Hvordan?
Avatar billede luzk Nybegynder
09. september 2003 - 12:42 #1
Det eneste jeg lige kan se, er at du finder noget andet at splitte på - et tegn der normalt ikke vil være at finde i din streng. - fx | eller ¤
Avatar billede ocp Nybegynder
09. september 2003 - 12:57 #2
Brug en regular expression - 2 sek.
Avatar billede ocp Nybegynder
09. september 2003 - 13:49 #3
<script lang=js>
    var str = '"Form","565","12","Code","CoverageLine.SETRANGE("Object Type","Object Type");","57"';
   
    var rx = new RegExp;
    // Finder forekomster af "," i parenteser
    rx = /\(.*(\"\,\").*\)/gi
   
    var ms = rx.exec(str);
   
    // udskift " med ' når de er indenfor parenteser
    str = str.replace(rx,ms[0].replace(/\"/gi,"'"));
    // udskift alle andre "," med |
    str = str.replace(/\",\"/gi,"|");
    // Fjern alle andre "
    str = str.replace(/\"/gi,"");
    // erstat ' med " igen
    str = str.replace(/\'/gi,"\"");
   
    var a = str.split("|");
   
    var sMsg = "";
   
    for(var t=0; t<a.length; t++)
    {
        sMsg += a[t] + "\n";
    };
   
    alert(sMsg);
   
</script>
Avatar billede ocp Nybegynder
09. september 2003 - 13:50 #4
Ja, det var så client-side versionen. Serverside er identisk med dette.
Avatar billede ocp Nybegynder
09. september 2003 - 13:51 #5
PS: Jeg forudsætter at der kun er 1 funktion i en streng.
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
Kurser inden for grundlæggende programmering

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