esamattis / esamattis/underscore.string

replaceAll treats key as regex

Offen
#461 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
JavaScript
Sterne
3.4k
Forks
367
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

`replaceAll` should not treat its second parameter as a regex.

``` js
"1$a2".replace('$a', 'b'); // => "1b2" as expected
```

but

``` js
s("1$a2").replaceAll('$a', 'b').value(); // => "1$a2" but should be "1b2"
```

See also [a stackoverflow discussion](http://stackoverflow.com/questions/1144783/replacing-all-occurrences-of-a-string-in-javascript) which suggests using the regex escape function presented [here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Using_Special_Characters).

It might be nice to add the regex escape function to this library too.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne am replaceAll-Einstiegspunkt und prüfe die zugehörigen Tests daraufhin, wie das zweite Argument interpretiert wird. Reproduziere den gemeldeten Fall "$a" und füge anschließend Tests hinzu, die zeigen, dass Literalzeichenfolgen mit regex-speziellen Zeichen bei jedem Vorkommen ersetzt werden und dass das Ergebnis "1b2" lautet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.