Ich versuche, die Positionen aller Vorkommen einer Zeichenfolge in einer anderen Zeichenfolge zu finden, wobei die Groß- und Kleinschreibung nicht berücksichtigt wird.
Beispiel: Geben Sie die Zeichenfolge an:
Ich habe im Libanon Ukulele spielen gelernt.
und die Suchzeichenfolge le
möchte ich das Array erhalten:
[2, 25, 27, 33]
Beide Zeichenfolgen sind Variablen - dh ich kann ihre Werte nicht fest codieren.
Ich dachte, dass dies eine leichte Aufgabe für reguläre Ausdrücke war, aber nachdem ich eine Weile darum gekämpft hatte, eine zu finden, die funktionieren würde, hatte ich kein Glück.
Ich habe dieses Beispiel gefunden, wie dies erreicht werden kann .indexOf()
, aber es muss doch einen präziseren Weg geben, dies zu tun?
le
hier eine variable Zeichenfolge? Auch wennnew Regexp(str);
die Gefahr von Sonderzeichen lauert, lauert$2.50
zum Beispiel. So etwasregex = new Regexp(dynamicstring.replace(/([\\.+*?\\[^\\]$(){}=!<>|:])/g, '\\$1'));
wäre meiner Meinung nach näher. Ich bin nicht sicher, ob js einen eingebauten Regex-Fluchtmechanismus hat.