Javascript Suche index des Wortes im string (der nicht Teil des word)
Ich bin derzeit mit str.indexOf("word")
zu finden, die ein Wort in einem string.
Aber das problem ist, dass es auch wieder Teile von anderen Wörtern.
Beispiel: "ich ging in die foobar und bestellt foo".
Ich will der erste index, der von dem einzigen Wort "foo", nicht die foo innerhalb von foobar.
Kann ich nicht suchen Sie nach "foo ", weil es manchmal sein könnte, gefolgt von einem Punkt oder Komma (alle nicht-alphanumerischen Zeichen).
Sie haben sechs Fragen, welche nicht angenommen haben, Antworten. Gehen Sie zurück und akzeptieren Sie die Antwort, und die Leute werden bereit sein, zu posten.
Ok danke ich wusste nicht, ich hatte eine hartnäckige Konto als "user759885", die ich durchgemacht habe und so getan.
Ok danke ich wusste nicht, ich hatte eine hartnäckige Konto als "user759885", die ich durchgemacht habe und so getan.
InformationsquelleAutor | 2012-10-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die regex für diese:
/\bfoo\b/
entsprichtfoo
ist umgeben von Wortgrenzen.Übereinstimmung einer beliebigen word, erstellen Sie ein
RegExp
Objekt:reg = '/\b' + word+ '\b/'; str.indexOf(reg);
Wenn Sie möchten, erstellen der regex benötigen Sie zwei Schritte: Doppel-scape "\" ("\\b"), und rufen Sie den RegExp-Konstruktor:
reg = new RegExp("\\b" + word + "\\b");
Ah, ich sehe indexOf nicht nehmen regex, so dass Sie verwendet haben
search()
. Meine Letzte Lösung war die Verwendungreg = '\\b(' + word + ')\\b';
str.indexOf(reg);
Siehe mein edit. Sie haben zu bauen
RegExp
Objekt.Seine nicht die richtige Lösung. zum Beispiel, var Wort = '.'; var regex = new RegExp('\\b' + Wort + '\\b'); alert('ich ging in die foobar und bestellt foo.'.Suche(regex)); es wird geben
0
.InformationsquelleAutor Blender
Für einen Allgemeinen Fall, benutzen Sie die RegExp-constrcutor zu erstellen, die den regulären Ausdruck begrenzt durch Wortgrenzen:
Beachten Sie, dass die Bindestriche werden als word-Grenzen, so dass in der Sonne getrocknet ist zwei Wörter.
InformationsquelleAutor RobG