Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-10-2006, 20:23   #1 (permalink)
weirdoz
 
Benutzerbild von Ghanji
 
Registriert seit: Aug 2002
Ort: Ruhr.G-Beat
Beiträge: 324
String replace -> kein teilstring / exact match?

Hallo Leute,
zur Indizierung von Wörtern benötige ich eine String-Replace Funktion, die die Wörter in einem HTML-Textfeld mit Ankern versehen soll.
Die zu indizierenden Wörter hole ich mir aus einer XML...

Folgender String sei gegeben:

"Heute gebe ich meinem Hund in die Hundepension."

Zu indizierende Wörter seien beispielsweise: "hund" , "hundepension" , "pension"

Leider replaced
xyzTxt.split("hund").join("dackel")
bereits den Teilstring aus "Hundepension", weshalb der 2te replace nun natürlich nicht mehr funzt.

Mein Gedankenansatz:
Via indexOf und charCodeAt prüfen ob das Zeichen vor und hinter dem Suchstring Alphanumerisch ist => kein replace.
Sonderzeichen können natürlich vorkommen, da das zu indizierende Wort z.B. in Klammern geschrieben sein kann oder ein Satzzeichen folgt.
Zu umständlich, oder?

Bin für Ratschläge sehr dankbar,
Ghanji
__________________
international-karate
Ghanji ist offline   Mit Zitat antworten
Alt 27-10-2006, 21:29   #2 (permalink)
Nagelneuer User
 
Benutzerbild von hazy fantazy
 
Registriert seit: Dec 2005
Beiträge: 924
du könntest auch zuerst die langen wörter ersetzen, also hundepension vor hund und pension.

PHP-Code:
var = ["hund""hundepension","pension","hundepensionsbesitzer""pensionsberechtigter"];
a.sort( function( )
{
      if( 
== ) return 0;
      if( 
a.indexOf) >= ) return -1;
      if( 
b.indexOf) >= ) return 1;
      if( 
) return -1
      
return 1;
});
trace);
//ausgabe: hundepensionsbesitzer,hundepension,hund,pensionsberechtigter,pension 
mfg.h
__________________
The fact that you've got "Replica" written on the side of your gun and the fact that I've got "Desert Eagle written on the side of mine ... :D
hazy fantazy ist offline   Mit Zitat antworten
Alt 28-10-2006, 01:01   #3 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
Zitat:
Zitat von Ghanji Beitrag anzeigen
Zu umständlich, oder?
zumindestens knifflig ;-)

http://www.seibsprogrammladen.de/fra...gm/Algorithmen
String in ein Wort-Array aufteilen
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 31-10-2006, 12:59   #4 (permalink)
weirdoz
 
Benutzerbild von Ghanji
 
Registriert seit: Aug 2002
Ort: Ruhr.G-Beat
Beiträge: 324
Hallo,
sorry, daß ich so spät antworte, es sind ein paar Dinge dazwischen gekommen...

@hazy fantazy:
Der Ansatz kann leider nicht funktionieren, da es den Fall des Teilstring-Replacements leider nicht ausschließt.

@hgseib
Sehr vielversprechend, ich experimentiere gerade damit herum.
Es ist aber ungünstig alle erdenklichen gültigen Sonder- /Satzzeichen zu berücksichtigen, vor allem wenn die Inhalte Mehrsprachig werden, deshalb meine Überlegung, ob der Gültigkeitsbereich über die ISO Char-Code Tabelle abgedeckt werden kann.

Vielen Dank euch beiden jedenfalls schon einmal,
Grüße,
Ghanji
__________________
international-karate
Ghanji ist offline   Mit Zitat antworten
Alt 12-03-2008, 11:30   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 27
Hund und Hundeschule

Ich weiß zwar nicht so genau, ob ich es verstanden habe, aber wenn es nur darum geht, das Wort Hund durch das Wort Dackel zu ersetzen und dabei das Wort Hundepension oder Hundeschule zu erhalten, kannst das Leerzeichen bei split mit eingeben.

xyz="Mein Hund geht in die Hundeschule";
a=xyz.split("Hund ").join("Dackel ");
pastorpixel ist offline   Mit Zitat antworten
Alt 12-03-2008, 11:32   #6 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Der Thread ist 2 Jahre alt ... aber die Lösung ist nicht schlecht.
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'

Geändert von readme.txt (12-03-2008 um 11:34 Uhr)
readme.txt ist offline   Mit Zitat antworten
Alt 12-03-2008, 12:01   #7 (permalink)
Rock'n'Bass
 
Benutzerbild von <sVkVmVit>
 
Registriert seit: Feb 2006
Ort: Hamburg
Beiträge: 202
Zwei Jahre später .... lol
__________________
==>remix.nin.com<==
//
Life Is Too Short For Boring Music!
Fantasie ist die einzige Waffe gegen die Wirklichkeit.
<sVkVmVit> ist offline   Mit Zitat antworten
Alt 12-03-2008, 21:35   #8 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 27
2 jahre aber bei google ganz vorn

Ich habe selber nach einer Lösung mit suchen ersetzen gesucht und bin durch google auf diesen Thread gestoßen.
Mein Beitrag richtet sich also mehr an die, die auch auf dem Weg hierhin finden.
pastorpixel ist offline   Mit Zitat antworten
Alt 13-03-2008, 00:56   #9 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
Zitat:
Zitat von pastorpixel Beitrag anzeigen
.. kannst das Leerzeichen bei split mit eingeben.
das ist genau der damalige vorschlag gewesen (der link).

nur, ein einzelnes wort erkennt man nicht an einem leerzeichen dahinter, da muss es mindestens auch eins davor geben, und/ oder die zeichen ,.-!?" usw.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 13-03-2008, 06:47   #10 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 27
Ach so, ja danke, was für ein toller link. Hätte ich ja auch voher schon mal drauf klicken können. Hab ich gleich bei mir verlinkt. Danke.

Geändert von pastorpixel (13-03-2008 um 06:59 Uhr)
pastorpixel ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele