Czytałem to pytanie o trymowanie javascript, z odpowiedzią wyrażenia regularnego.
Następnie oczekuję, że przycinanie usunie wewnętrzną przestrzeń między Hello i World.
function myFunction() {
alert("Hello World ".trim());
}
EDYTOWANE
Dlaczego się tego spodziewałem !?
Nonsens! Oczywiście przycinanie nie usuwa wewnętrznych spacji !, tylko początkowe i końcowe, tak działa przycinanie, to było bardzo złe pytanie, przepraszam.
javascript
html
trim
Hernán Eche
źródło
źródło
Hello World
jest już „przycięte”Odpowiedzi:
Do usuwania znaków spacji
dla wszystkich białych znaków skorzystaj z sugestii Rocketa w komentarzach poniżej!
źródło
.replace(/ /g, '')
jeśli jest więcej niż raz miejsca..replace(/\s/g, '')
.\s
dopasuje spacje, tabulatory i nowe linie.Prawdopodobnie dlatego, że zapomniałeś wdrożyć rozwiązanie w zaakceptowanej odpowiedzi . To kod, który sprawia, że
trim()
działa.aktualizacja
Ta odpowiedź dotyczy tylko starszych przeglądarek. Nowsze przeglądarki najwyraźniej obsługują
trim()
natywnie.źródło
Możesz użyć metody zamiany ciągów za pomocą wyrażenia regularnego.
"Hello World ".replace(/ /g, "");
RegExp
/ / - Spacje dopasowane do wyrażeń regularnych
g - flaga globalna; znajdź wszystkie dopasowania zamiast zatrzymywania się po pierwszym dopasowaniu
Pokaż fragment kodu
źródło
Możesz użyć
trim()
usuwa tylko końcowe spacje w łańcuchu (pierwsze i ostatnie w łańcuchu). W tym przypadku regExp jest szybszy, ponieważ można usunąć jedną lub więcej spacji w tym samym czasie.Jeśli zmienisz zastępczy pusty ciąg na „$”, różnica stanie się znacznie wyraźniejsza:
Porównanie wydajności -
/\s+/g
jest szybsze. Zobacz tutaj: http://jsperf.com/s-vs-sźródło