kostenloser Webspace werbefrei: lima-city


Abschneiden eines Strings nach einem Wort

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    Hallo!

    Ich hab eine Frage zu den Regulären ausdrücken

    Also, ich habe einen tag/string">String "Heute ist ein Schöner Tag"
    Den möchte ich nach dem 15 Zeichen + dem Zeichen bis zum nächsten Leerzeichen abschneiden. Aber ich komm mit den Regulären ausdrücken nicht wirklich zurecht :slant:

    Ich habe bisher
    // suchen nach der Leerzeichenposition ab dem 15 Zeichen im String
    var pattern:int = news_array[ii][1].indexOf("\s", 15)
    // Aufaddieren der position des ersten Leerzeichens auf den Abbrechwert 15
    newsloeschen[ii][1].text = news_array[ii][1].substr(0, 15 + pattern) + " ...";

    Wie ich eine If-Abfrage zur Gesamtlänge des Strings einbaue weiß ich, das ist nicht das Problem
    Aber das Teilen klappt irgendwie nicht. Prinzipiell ist es Flash AS3, aber diese Sachen mit den Ausdrücken ähneln sich glaub ich relativ stark, drum schreib ich es mal in "Sonstige Programiersprachen"

    Beitrag zuletzt geändert: 29.1.2010 12:59:57 von sonok
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Grundsätzlich sieht Deine Lösung plausibel aus. Ich kenne Flash nicht im Detail und hoffe, dass die indexOf()-Funktion dann auch die Position gemessen ab dem Offset (in Deinem Fall 15) zurückgibt, ansonsten könntest Du Dir die Addition des Offsets natürlich sparen.

    Als weiterer Punkt fällt mir auf, dass die Metasequenz /s (="Matches any white-space character (a space, tab, newline, or return character).
    ") nicht unbedingt in einem String gefunden werden muss. Ich weiß nicht, was Du als Antwort bekommst, wenn Dein String (ab Position 15) zum Beispiel so aussieht: "abc" in diesem Fall gibt es kein Leerzeichen oder Zeilenendezeichen!

    Geeigneter für Deine Suche wäre die Metasequenz /b (="Matches at the position between a word character and a nonword character. If the first or last character in the string is a word character, also matches the start or end of the string.
    ") deutlich günstiger!

    Die unter Flash gültigen Metasequenzen sind hier erklärt: http://www.adobe.com/livedocs/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000111.html

    Beitrag zuletzt geändert: 29.1.2010 14:49:32 von cars-ten
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!