Chcę usunąć pierwszy znak ciągu, jeśli pierwszym znakiem jest 0. 0 może być tam więcej niż jeden raz.
Czy istnieje prosta funkcja, która sprawdza pierwszy znak i usuwa go, jeśli ma wartość 0?
W tej chwili próbuję tego z slice()
funkcją JS, ale jest to bardzo niewygodne.
javascript
string
Jings
źródło
źródło
charAt
zawsze zwraca łańcuch, nawet jeśli indeks przekracza indeks ostatniego znaku, więc nie jest wykonywany przymus typu, a algorytm jest identyczny. Ale wolę===
ponad,==
nawet jeśli to nie robi różnicy. ;)===
i==
wykonywać dokładnie te same czynności (w zależności od specyfikacji, co najmniej), więc nie ma powodu, by spodziewać się jednego, aby lepiej wykonywać niż inne .substr
jąsubstring
. Sprawdź MDN: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…Bardzo czytelnym kodem jest użycie
.substring()
z zestawem początkowym do indeksowania drugiego znaku (1) (pierwszy znak ma indeks 0). Drugi parametr.substring()
metody jest w rzeczywistości opcjonalny, więc nie musisz nawet wywoływać.length()
...TL; DR: Usuń pierwszy znak z ciągu:
... tak, to takie proste ...
Usuwanie niektórych określonych postaci:
Jak sugeruje @Shaded, po prostu zapętl to, a pierwszym znakiem w łańcuchu jest „niechciany” znak ...
.slice()
vs.substring()
vs.substr()
Cytat z (i więcej na ten temat w) Jaka jest różnica między String.slice i String.substring?
źródło
Użyj
.charAt()
i.slice()
.Przykład: http://jsfiddle.net/kCpNQ/
Jeśli
0
na początku może być kilka znaków, możesz zmienić naif()
awhile()
.Przykład: http://jsfiddle.net/kCpNQ/1/
źródło
Najłatwiejszym sposobem na usunięcie wszystkich wiodących elementów
0
jest:Jeśli po prostu pozbędziesz się jednej wiodącej
0
postaci, jak sugeruje to pytanie, możesz użyćźródło
Możesz to zrobić za pomocą metody substring :
źródło
Czy wypróbowałeś tę
substring
funkcję?Oto referencja - https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/substring
I zawsze możesz to zrobić dla wielu zer:
źródło
Dla wszystkich
0
: http://jsfiddle.net/An4MY/źródło
charAt
? Dlaczego nawiasy? Dlaczego rozszerzenie prototypu? Fujźródło
źródło
Oto jeden, który nie zakłada, że dane wejściowe to
string
, używasubstring
i zawiera kilka testów jednostkowych:http://jsfiddle.net/TRU66/1/
źródło
próbować
Pokaż fragment kodu
źródło
źródło
Z implementacji JavaScript trim ()>, która usuwa ciągi początkowe lub końcowe spacji. Oto zmieniona implementacja odpowiedzi na to pytanie.
Oryginalna implementacja tego w JS
źródło