Abschneiden eines Strings nach einem Wort
lima-city → Forum → Programmiersprachen → Sonstige Programmiersprachen
abfrage
abschneiden
addition
antwort
beispiel
detail
first
frage
http
last
match
offset
position
sache
sparen
string
tab
tag
url
zeichen
-
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
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage