Poszukuję najszybszego sposobu na zapisanie wszystkich liter, które nie są częścią AND w wyrażeniu. Chcę zostawić AND
w oryginalnym przypadku, czy to and
czy AND
nie powinno się zmienić.Zmniejszenie wszystkich słów z wyjątkiem ORAZ
Na przykład test barack AND obama
powinien być równy Barack AND Obama
, ale nie barack and obama
. (Zauważyć różnicę przypadek w a)
Oto jedno podejście, ale zastanawiam się, czy jest krótsza droga czy raczej sposób, że unika iteratorów:
var str = 'Barack AND Obama'; // should be barack AND obama after
str = str.split(/\s+/g).map(function (s) {
return s.toLowerCase() != 'and' ? s.toLowerCase() : s;
}).join(' ');
Dobre podejście! Interesują mnie też inni, zanim wybiorę najlepsze. –
Nie wiedziałem, że 'String.replace' zaakceptował funkcję, miło. –
Widziałem, jak kiedyś robił pseudo-look-behinds. Jest to prawdopodobnie najbardziej eleganckie podejście do mojego problemu. –