Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung - XPages => Thema gestartet von: thomson666 am 11.09.12 - 07:54:57

Titel: javascript split mit oder Bedingung
Beitrag von: thomson666 am 11.09.12 - 07:54:57
Hi!

Ich hab hier mal eine grundsätzliche Frage, im Web hab ich zwar schon einiges gefunden, allerdings scheine ich die Syntax nicht hinzubekommen.

Ich habe einen String der so aussieht:

Information vom 12.12.2012 --> weitere Information vom 13.12.2012 --> Alles funktioniert wieder (14.12.2012) zusatzliche Info vom 15.12.2012 -->

Ich will diesen String jetzt splitten.
Dazu verwende ich derzeit
var s;
s = document2.getItemValueString("ablauf");
var a1 = s.split("->");
Das Ergebnis hier wie nicht anders zu erwarten, ein Array mit 3 Einträgen
der letzte Eintrag ist aber:
Alles funktioniert wieder (14.12.2012) zusatzliche Info vom 15.12.2012 -->
und hier sollte aber nach der Klammer auch gesplittet werden.
Im Netz hab ich geschaut und es gäbe die Möglichkeit einen Split mit einer ODER Bedingung zu machen, allerdings bring ich das nicht hin....
mein Versuch:
var a1 = s.split("->"|")");
Allerdings wird die ODER Bedingung hier ignoriert.
Hat jemand eine Idee was ich falsch mache? Oder muss ich im Nachhinein das Array mit einer Schleife durchgehen, den Split ausführen und dann das Array entsprechend umbauen!?
Danke
Tommy ??? ??? ???


Titel: Re: javascript split mit oder Bedingung
Beitrag von: pram am 11.09.12 - 08:11:43
Du kannst einen regulären Ausdruck als Parameter angeben.  Dieser darf nicht in " stehen:
arr = s.split(/a|b/)
Deine Sonderzeichen musst wahrscheinlich noch escapen:  /\-\-\>|\)/ (ohne Gewähr)

Gruß Roland
Titel: Re: javascript split mit oder Bedingung
Beitrag von: eknori am 11.09.12 - 08:14:05
Code
var s = "Information vom 12.12.2012 --> weitere Information vom 13.12.2012 --> Alles funktioniert wieder (14.12.2012) zusatzliche Info vom 15.12.2012 -->";
s = s.replace("(","");
s.split(/[->)]+/);

ergibt dann das, was du wolltest ...

Titel: Re: javascript split mit oder Bedingung
Beitrag von: thomson666 am 11.09.12 - 08:50:41
Ok Danke ich probiers gleich aus und melde mich

ausprobiert und funktioniert...  ;D
Danke!

Die Sache ist aber leider noch nicht ganz gelöst...
Das Feld das ich auslese ist ein RichtextFeld, wenn Notes nun intern das RichTextfeld splittet bekomme ich leider nur die Werte des ersten RichTextFeldes
Muss ich mir die Werte des RichTextFeldes mit @Abstract oder so holen?
Titel: Re: javascript split mit oder Bedingung
Beitrag von: eknori am 11.09.12 - 09:39:28
ja, versuche mal mit @AbstractSimple() . Ist einfacher zu handhaben als @Abstract
Titel: Re: javascript split mit oder Bedingung
Beitrag von: eknori am 11.09.12 - 12:23:00
Mal eine andere Frage. Die Statusinformationen werden doch irgendwo erzeugt. Warum wird ausgerechnet bei dem "Alles funktioniert wieder (14.12.2012)" um das Datum eine Klammer gesetzt. Sollte man nicht eher dort ansetzen und versuchen, die Meldungen in einem einheitlcihen Format zu erzeugen.
Ansonsten könnte man sich auch das Regex sparen und die ) durch das einheitliche Trennzeichen ersetzen.
Titel: Re: javascript split mit oder Bedingung
Beitrag von: thomson666 am 17.09.12 - 07:55:05
jup, das schau ich mir gerade an.
Wäre natürlich die sauberste Lösung
Danke Trotzdem!
Tommy