AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
24.07.14 - 14:20:24
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino 8
| |-+  ND8: Entwicklung - XPages (Moderatoren: eknori, Glombi, Thomas Schulte, m3)
| | |-+  javascript split mit oder Bedingung
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: javascript split mit oder Bedingung  (Gelesen 1299 mal)
thomson666
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 285


niemand hats leicht, aber leicht hats oan...


« 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 Huh Huh Huh


Gespeichert
pram
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1022



WWW
« Antworten #1 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
Gespeichert

Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 10323


No guts, No glory!!


WWW
« Antworten #2 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 ...

Gespeichert

Gruß Ulrich (eknori) Krause

"Reich wird man nicht durch das, was man verdient, sondern durch das, was man spart"

pulmonale Hypertonie e.V.
thomson666
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 285


niemand hats leicht, aber leicht hats oan...


« Antworten #3 am: 11.09.12 - 08:50:41 »

Ok Danke ich probiers gleich aus und melde mich

ausprobiert und funktioniert...  Grin
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?
« Letzte Änderung: 11.09.12 - 08:58:39 von thomson666 » Gespeichert
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 10323


No guts, No glory!!


WWW
« Antworten #4 am: 11.09.12 - 09:39:28 »

ja, versuche mal mit @AbstractSimple() . Ist einfacher zu handhaben als @Abstract
Gespeichert

Gruß Ulrich (eknori) Krause

"Reich wird man nicht durch das, was man verdient, sondern durch das, was man spart"

pulmonale Hypertonie e.V.
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 10323


No guts, No glory!!


WWW
« Antworten #5 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.
Gespeichert

Gruß Ulrich (eknori) Krause

"Reich wird man nicht durch das, was man verdient, sondern durch das, was man spart"

pulmonale Hypertonie e.V.
thomson666
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 285


niemand hats leicht, aber leicht hats oan...


« Antworten #6 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
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: