Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: RvM am 21.02.06 - 15:32:46

Titel: Anzahl von bestimmten Elementen in einem String
Beitrag von: RvM am 21.02.06 - 15:32:46
Ich bins nochmal:
mit welchem @-Befehl kann ich die Anzahl gleicher Zahlen bzw. Buchstaben aus einem Textfeld mit Mehrfachnennung herausbekommen?
Beispiel:
Feld "Liste" beinhaltet "0;0;120;0;0". Ich will jetzt wissen, das in diesem Feld 4 x die 0 drin ist.
Titel: Re: Anzahl von bestimmten Elementen in einem String
Beitrag von: Glombi am 21.02.06 - 15:40:13
@Max(@Elements(@Explode("$"+ Liste + "$";"<Trennzeichen>")) - 1;0)

sollte es tun. Die "$" am Anfang und Ende, damit das Trennzeichen nicht das erste/letzte Zeichen ist.

Andreas
Titel: Re: Anzahl von bestimmten Elementen in einem String
Beitrag von: RvM am 21.02.06 - 15:44:57
DANKE - funzt.
Ich liebe diese Formelsprache - reinste Gehirnakrobatik  ;)
Titel: Re: Anzahl von bestimmten Elementen in einem String
Beitrag von: koehlerbv am 21.02.06 - 15:50:53
Bei "0;0;120;0;0;5;0" kommt allerdings 6 heraus, und bei "1;2;3;6;5" gibt es 4.

Wäre es nicht einfacher, die Elemente der Liste zu zählen, aus der Liste mit @Replace (und folgendem @Trim) den gewünschten Wert zu entfernen und dann nochmal die Elemente zu zählen?

Bernhard
Titel: Re: Anzahl von bestimmten Elementen in einem String
Beitrag von: RvM am 21.02.06 - 16:16:26
???? sorry, aber das versteh' ich nicht ganz!
Titel: Re: Anzahl von bestimmten Elementen in einem String
Beitrag von: koehlerbv am 21.02.06 - 16:22:58
Was verstehst Du nicht?
Titel: Re: Anzahl von bestimmten Elementen in einem String
Beitrag von: RvM am 21.02.06 - 16:24:08
 :D
sorry, erst gehirn einschalten, dann fragen!!
(@Elements(Liste))-(@Elements(@Trim(@Replace(Liste;"0";""))))
Jetzt wird richtig gerechnet.
THX
Titel: Re: Anzahl von bestimmten Elementen in einem String
Beitrag von: Tode am 22.02.06 - 10:53:14
in irgend einem Forum habe ich mal diese (geniale) Formel gefunden /das war vor @For und konsorten:

List1 :=  @Explode ( "Red,Blue,Red,Green,Red,Blue"; "," ) ;
List2 := List1 + "@" ;
List3 := @Unique ( List1 ) ;
List4 := @ReplaceSubstring ( List3; List1; List2 ) ;
List5 := @ReplaceSubstring ( List4; List3; "" ) ;
@Length ( List5 )


Diese liefert für jedes unterschiedliche Element einer Liste die Anzahl der vorhandenen Einträge. Im obigen Beispiel also:
List3: Red, Blue Green
@Length( List5 ): 3 , 2 , 1

HTH
Tode