2012-05-22 11 views
9

Mam ciąg znaków i muszę go naprawić, aby dołączyć go do zapytania.Zastępowanie spacji ciągiem za pomocą łączników

że mam ciąg "koszem na każdą okazję" i chcę go mieć "A-Basket-For-every-okazje"

muszę znaleźć miejsce i zastąpić ją łącznikiem. Następnie muszę sprawdzić, czy w łańcuchu jest inne miejsce. Jeśli nie, zwróć ustalony ciąg. Jeśli tak, uruchom ponownie ten sam proces.

Brzmi jak funkcja rekurencyjna, ale nie jestem pewien, jak ją skonfigurować. Każda pomoc będzie bardzo ceniona.

Odpowiedz

15

Można użyć regex zastąpienie tak:

var str = "A Basket For Every Occasion"; 
str = str.replace(/\s/g, "-"); 

„g” flagi regex spowoduje, że wszystkie przestrzenie, aby wymienić.


Możesz zwinąć wielokrotne spacje do jednego myślnika, więc nie kończy się z kilku kresek z rzędu. Że będzie wyglądać następująco:

var str = "A Basket For Every Occasion"; 
str = str.replace(/\s+/g, "-"); 
+0

idealne dzięki. przyjmie za 8 minut, kiedy pozwoli mi –

+0

@Tamil - nie rozumiem twojego komentarza. OP najwyraźniej nie wiedział o globalnym zamienniku regex, więc edukowałem je i pokazałem, jak to działa, co jest zgodne z duchem SO i z korzyścią dla przyszłych widzów). Ponadto zaproponowałem pomysł ulepszenia, który zapobiegałby wielu myślom z rzędu. Jak myślisz, na jakie pytanie powinno odpowiedzieć? – jfriend00

+0

@ jfriend00 Przepraszam, jeśli popełniłem błąd, ale mógłbyś go zapytać, czy próbował czegoś do tej pory w tym samym OP. Poza tym pomyślałby o SO w następnej chwili, gdy myśli o problemie, a raczej próbuje go rozwiązać. – Tamil

6

Zastosowanie wymienić i znaleźć dla whitespaces \s globalnie (flaga g)

var a = "asd asd sad".replace(/\s/g,"-"); 

a przechodzi

"asd-asd-sad" 
+1

przegłosowano. dzięki. jfriend odpowiedział pierwszy –

4

Spróbuj

value = value.split(' ').join('-'); 

I użył tego do g et rid moich przestrzeni. Zamiast łącznika zrobiłem go pustym i działa świetnie. To także wszystko JS. .split(limiter) usunie ogranicznik i umieści elementy ciągu w tablicy (bez elementów ograniczających), a następnie możesz dołączyć do tablicy za pomocą łączników.

Powiązane problemy