$("#topNav" + $("#breadCrumb2nd").text().replace(" ", "")).addClass("current");
To jest fragment mojego kodu. Chcę dodać klasę do identyfikatora po uzyskaniu właściwości tekstowej innego identyfikatora. Problem polega na tym, że identyfikator zawierający tekst, którego potrzebuję, zawiera przerwy między literami.
Chciałbym usunąć białe przestrzenie. Próbowałem TRIM()
i REPLACE()
ale to tylko częściowo działa. REPLACE()
Usuwa tylko 1st miejsca.
javascript
jquery
Cecil Theodore
źródło
źródło
.replace(/\s+/g, '')
co jest całkowicie w porządku dla mnie.x = " Many spaces before and after "
y = x.replace(/(^\s+|\s+$)/g, "")
The^\s
środki spacje po początku łańcucha,\s$
środków spacje na końcu ciąg,|
jest dla / lub w grupie, ag
modyfikator wyjaśniono w komentarzach powyżej. Potrzebujesz także+
kwantyfikatorów po każdym,\s
ponieważ chcesz uchwycić jedno lub więcej wystąpień białych znaków.Zastąpi tylko pierwszą białą spację , w tym spacje, tabulatory i nowe linie.
Aby zamienić wszystkie białe znaki w ciągu, musisz użyć trybu globalnego
źródło
+
nie dodaje, ponieważ już korzystamy zg
modyfikatora (globalnego)Korzystanie
String.prototype.replace
z wyrażenia regularnego, jak wspomniano w innych odpowiedziach, jest z pewnością najlepszym rozwiązaniem.Ale dla zabawy możesz również usunąć wszystkie białe znaki z tekstu, używając
String.prototype.split
iString.prototype.join
:źródło