1

Text vor oder nach einem bestimmten Zeichen abschneiden

Hallo Gemeinde,

ich weiß mir leider nicht mehr zu helfen und hier im Forum habe ich bisher auch nichts gefunden. 

Ich lese den Dateinamen eine Dateianhangs mit let name := files(this); aus.

Ninox stellt vor den Dateinamen einen Buchstaben und einen Zahlenwert (Tabelle und Spalte). Das sieht dann zum Beispiel so aus: M4/Angebot-05-023.

Ich würde jetzt gerne nach den "/" abschneiden und nur Angebot-05-023 ausgeben.

Ich finde leider keinen Befehl hierzu. Kann mir bitte jemand helfen?

Vielen Dank für Eure Mühe im Voraus. 

7 Antworten

null
    • Torsten_Stang.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    kannst Du ausschließen, dass "/" sonst nicht vorkommt? Dann:

     

    FELDNAME := item(split(FELDNAME,"/"),1)
    • rehfusssteffen
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Die Funktion ist nicht definiert:split(file.....

    Hallo Torsten, vielen Dank für die Unterstützung. Was mache ich falsch?? Danke Dir.

    let anzahl := count(files(this));
    let name := files(this);
    name := item(split(name,"/"),1);
    if cnt(files(this)) > 0 then
        styled(text(name), "rgb(127/255/0)", "rgb(255/63/63)", "document")
    end

    • Torsten_Stang.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    sorry, dass es um Dateinamen geht habe ich überlesen, probier mal so:

     

    name := item(split(text(name), "/"), 1)

     

    Da Du aber mit files(this) im Zweifel mehrere Anhänge hast, wäre IMHO besser:

    name := join(for i in files(this) do item(split(text(i), "/"), 1)end, ", ")
    • rehfusssteffen
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Torsten,

    funktioniert leider beides nicht. 

    Die Ausdrücke für "dann" und "sonst" liefern unterschiedliche Dateitypen ... (Zeile 3 Spalte 76)

    let anzahl := count(files(this));
    let name := files(this);
        name := join(for i in files(this) do item(split(text(i), "/"), 1)end, ", ")

      • Torsten_Stang.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

      rehfuss.steffen 

      in Deinem hier gelisteten Code war gar kein else-Argument, zur eigentlichen Fehlermeldung kann ich also nichts sagen.

       

      Generell ich kann Dir empfehlen, Dich ranzutasten: Nimm' erst mal nur meinen Code - wenn der funktioniert, bau den Rest nach und nach außen rum...

    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hi Steffen. Wie Torsten schon schrieb, liefert files(this) ein Array. Also mußt Du durch eine Festlegung noch eine Datei auswählen und in Ninox das Format "Datei" in Format "text" umwandeln (Like Torsten). Dann noch die richtige Schreibweise für rgb und dann könnte es so klappen.
     

    let anzahl := count(files(this));
    let name := text(last(files(this)));
    name := item(split(name, "."), 1);
    if anzahl > 0 then
        styled(text(name), "rgb(127,255,0)", "rgb(255,63,63)", "document")
    end
    
    • rehfusssteffen
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Guten Tag Torsten, guten Tag Mirko,

    vielen Dank für Eure Unterstützung. Das ist die Lösung!! Perfekt.

Content aside

  • Status Answered
  • 1 „Gefällt mir“ Klicks
  • vor 1 JahrZuletzt aktiv
  • 7Antworten
  • 190Ansichten
  • 2 Folge bereits