Autor Thema: @Matches???, @Trim????, Extrahieren??  (Gelesen 3007 mal)

Offline Notes-Domino

  • Frischling
  • *
  • Beiträge: 29
@Matches???, @Trim????, Extrahieren??
« am: 17.06.05 - 12:20:29 »
Hallo!
wie überprüfe ich ob eine Eingabe genau 6 Zeichen hat und die letzen 3 Zeichen alpahanumerische Zeichen sind??

@if(@length(@thisValue)!=6;@Failure("Fehler");@Matches(@ThisValue;???{...};@Success)

Ist @Matches hier korrekt?   :-\  nur was kommt in die geschweifte Klammer das buchstaben wie auch ziffern hier erlaubt sind?? (alphanumerisch?)

eine zweite frage ist, wenn ich
@Trim(@ThisValue) in die Input Translation schreibe und dann in das Feld eine eingabe tätige, in ein anderes Feld wechsel und dann F9 drücke, entfernt er mir nicht die leerzeichen? wieso?   :-\

und eine weitere Frage ist, wenn ich einen Datenbanktitel hab, wie kann ich daraus werte extrahieren
z.b.
Datenbank-Nr-Created-by-Name
so, dass ich sie dynamisch in forms hab:
- nummer
- ...

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #1 am: 17.06.05 - 12:30:52 »
Hallo,

@Matches benötigt reguläre Ausdrücke. Wenn es alphanumerische Zeichen sein sollen kannst Du z. B. {A-Z0-9}{A-Z0-9}{A-Z0-9} angeben

Das mit dem @Trim scheint mir korrekt zu sein. Wenn es in der Eingabevalidierung steht, sollte das genau so funktionieren, auch wenn Du im gleichen Feld bist.

Die Einzelwerte aus dem Datenbanktitel würde ich mir @Word holen, also z. B.
nr := @Word(titel; "-"; 2)

Gruß,

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline Notes-Domino

  • Frischling
  • *
  • Beiträge: 29
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #2 am: 17.06.05 - 15:16:50 »
@UpperCase(@Trim(@ThisValue))
das Prob ist, dass er die buchstaben alle groß schreibt aber die leerzeichen nicht entfernt
 :-:

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #3 am: 17.06.05 - 15:22:54 »
Hi,

welche Leerzeichen meinst du denn? Sind das vielleicht gar keine Leerzeichen, sondern irgendwelche nicht druckbaren Zeichen?

Hast du's auch mal andersrum probiert, also so: @Trim(@UpperCase(@ThisValue))


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #4 am: 17.06.05 - 15:25:44 »
Ich wüsste nicht, dass es ein Unterschied zwischen "großen" und "kleinen" Leerzeichen gibt. Und selbst wenn das so ist, müsstest Du zuerst den UpperCase und dann den Trim machen, weil der Trim-Befehl immer noch auf den gleichen Inhalt wie zuvor angewand wird.

Aber vielleicht reden wir auch aneinander vorbei: @Trim entfernt nicht alle Leerzeichen, sondern nur führende, nachfolgende und doppelte Leerzeichen. Aus "   F  r   i     t   z   " wird dann "F r i t z".

Wenn Du alle Leerzeichen entfernen willst, musst Du dafür @ReplaceSubstring benutzen.
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline Notes-Domino

  • Frischling
  • *
  • Beiträge: 29
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #5 am: 17.06.05 - 15:32:33 »
@ReplaceSubstring ... funktioniert das nicht nur bei einer liste oder auch in einer InputTranslationß?

in einer if- Schleife gilt doch | als oder oder?
wenn dann @if(!@Begins(@ThisValue;"A-A")|!@Begins(@ThisValue;"A-B");@Failure("die eingabe muss mit A-A oder A-B beginnen; @Success)

wieso funktioniert es nicht?   :'(

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #6 am: 17.06.05 - 15:39:19 »
Hier ist OR aber falsch, es muss AND (also "&") heissen.

Offline Notes-Domino

  • Frischling
  • *
  • Beiträge: 29
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #7 am: 17.06.05 - 15:49:52 »
aber @ReplaceSubstring ist zum entfernen von leerzeichen ungeeignet oder?
wollte aus h a l l o  hallo machen?
geht das?

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #8 am: 17.06.05 - 15:51:23 »
@implode(@explode("H a l l o");" ");"") entfernt alle Leerzeichen
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #9 am: 17.06.05 - 15:53:10 »
Hi,

ReplaceSubstring geht auch.

So z.B.

@ReplaceSubstring("h a l l o"; " " ; "")


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #10 am: 17.06.05 - 15:59:45 »
Was ich nicht verstehe: Warum probierst Du solche Sachen nicht einfach selber aus ? Mach Dir eine kleine Test-DB, erstelle Dir dort jeweils die benötigten Design-Elemente (meist werden es Masken sein) und experimentiere zu den Zwecken Deiner Wahl. Dann siehst Du, was geht und was nicht.
Die Frage nach @ReplaceSubstring und Lists beispielsweise hättest Du Dir (und uns) damit sparen können oder damit zu neuen Fragen finden können. Und funktionierende Teile kannst Du zur späteren Verwendung in dieser Test-DB auch aufheben.

Bernhard

Offline Notes-Domino

  • Frischling
  • *
  • Beiträge: 29
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #11 am: 17.06.05 - 16:32:49 »
Tut mir leid das ich euch noch etwas fragen muss und ich bin euch sehr für eure hilfe dankbar...
es geht nochmal um das Thema "String":
wenn ich einen title hab, wie schaffe ich es gezielte buchstaben zb.
aus AST08Dk76Peper

mit welchen @functions schaffe ich es die 08 herauszuholen, z.b. das k und den namen?

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #12 am: 17.06.05 - 16:41:54 »
Wurde doch jetzt schon mehrfach geschrieben: @ReplaceSubstring. Ob Du damit Leerzeichen oder 08 ansprichst ist piepschnurzegal. Damit kannst Du einfach alles ersetzen.

@ReplaceSubstring("AST08Dk76Peper"; "08"; "") ==> "ASTDk76Peper"

Oder:

 @ReplaceSubstring("Das ist ein Fähler"; "ä":"ein"; "e":"kein") ==> "Das ist kein Fehler"

;)

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline Notes-Domino

  • Frischling
  • *
  • Beiträge: 29
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #13 am: 17.06.05 - 16:57:32 »
hmm, hatte damit auch schon rumgetüfftelt aber das was ich meine geht damit net   :'(
ich hab mehrere Datenbanken mit folgenden Aufbau:
ASSNRPRODKeybyName1, Name2

hab jetzt zum beispiel den DBTitel:
ASS04PROD08byChris

möchte jetzt in einer form 3 fields errichten, die dynamisch immer die NR (hier:04), im 2. Field den Key und im 3. Field die namen darstellt??

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #14 am: 17.06.05 - 17:34:07 »
Schau Dir mal die Befehle @Left, @Right und @Middle an. Damit kannst Du eine Einträge extrahieren.

z. B.

@Right(@Left("ASSNRPRODKeybyName1, Name2"; 5); 2) ==> "NR"

oder

@Middle("ASSNRPRODKeybyName1, Name2"; 3; 2) ==> "NR"

oder die Hardcore-Version wieder mit ReplaceSubstring:

@Left(@ReplaceSubstring("ASSNRPRODKeybyName1, Name2"; "ASS":"PROD":"by"; ""); 2) ==> "NR"

Ich bin sicher, dass es auch noch etwas komplizierter geht... ;)

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline Notes-Domino

  • Frischling
  • *
  • Beiträge: 29
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #15 am: 17.06.05 - 17:35:33 »
*lol*
oki, danke!    ;D

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #16 am: 17.06.05 - 17:38:26 »
Vielleicht gibst Du Dir bitte etwas mehr Mühe bei der Formulierung Deiner Fragen. Sie sind teilweise extrem schwer oder gar nicht zu verstehen, bzw. es stellt sich dann heraus, dass Du etwas ganz anderes willst, als Du in einer Frage formulierst.
Richtige Fragestellungen sind nicht nur für die Antwortenden (und ihre Motivation !) wichtig, sondern zunächst erstmal für Dich. Wenn Du gar nicht weisst, was Du willst, kannst Du das (unklare) Problem auch niemals lösen.
Nochwas: Beantworte unbedingt alle Fragen, die Dir hier gestellt werden !

Zurück zu Deiner Frage: Du solltest Dir die Funktion @Middle anschauen - die macht genau das, was Du offensichtlich planst.

Bernhard

PS: JR war schneller - aber das musste ich einfach (aus Erfahrung) loswerden.
« Letzte Änderung: 17.06.05 - 17:58:05 von koehlerbv »

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #17 am: 17.06.05 - 17:53:02 »
Einen hab' ich noch:  :D

@Left(@Right("ASSNRPRODKeybyName1, Name2"; "ASS"); "PROD")



Noch ein kleiner Tipp:

Mache Dir eine Testdatenbank mit einer kleinen Maske mit zwei Feldern und einem Knopf:

- In das erste Feld schreibst Du einen beliebigen @Formel-Code (sATFormula)
- Der Knopf berechnet den Code
- Ins zweite Feld kommt das Ergebnis (sResult)

Bevor die Frage kommt: Im Knopf steht einfach

FIELD sResult := @Eval(sATFormula); ""

Damit kannst Du jede beliebige @Formel einfach eintippen und ausprobieren. Und Du kannst immer gleich sehen, wie sich Deine Formel auswirkt und sparst Dir eventuell eine Menge Postings.

Gruß und schönes Wochenende,

Joachim
« Letzte Änderung: 17.06.05 - 17:54:46 von jr »
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #18 am: 17.06.05 - 18:02:47 »
Die Test-DB hat schon jeder, Joachim - das geht sogar mit der Mail-DB. Dort einfach die fragliche @function in die Subject-Zeile eingeben (und vorher sicherheitshalber im Body speichern, damit man das funktionierende Konstrukt dann auch noch zur Verfügung hat) und dann Shift-F9 drücken.

Dein wie mein Vorschlag funktionieren aber nicht, wenn Abhängigkeiten von weiteren Feldern bestehen. Eine Test-, Experimentier- und Spiel-DB kann ich daher nur empfehlen. Jegliche Experimente "Mal sehen, was passiert" in "produktiven" Entwicklungs-DBs halte ich für sträflich, da damit auch interne Tables der DB beeinflusst werden.

Bernhard

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: @Matches???, @Trim????, Extrahieren??
« Antwort #19 am: 17.06.05 - 18:14:27 »
Da hast Du Recht, so eine TestDB ist lebenswichtig. Die Sache mit der Mail-DB hat nur einen kleinen Haken, wenn Du Shift-F9 drückst ist die Formel weg und man muss sie jedesmal wieder über die Zwischenablage einfügen, solange sie noch nicht korrekt ist.

In meiner kleinen Maske habe ich noch ein paar zusätzliche Felder. Außerdem kann ich damit auch LotusScript testen und hab dann noch ein paar Knöpfe für Standardfunktionen um das Ergebnis zu manipulieren (Sort, UpperCase, Trim, ...), weil ich sie nicht nur zum Testen, sondern ab und zu auch zm Erzeugen von Daten benutze.

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz