Próbuję wyodrębnić wszystko przed przecinkiem „,”. Jak to zrobić w JavaScript lub jQuery? Próbowałem tego i nie działa ..
1345 albany street, Bellevue WA 42344
Chcę tylko złapać adres.
var streetaddress= substr(addy, 0, index(addy, '.'));
javascript
jquery
substring
substr
Anjana Sharma
źródło
źródło
addy.split(',', 1)[0]
Odpowiedzi:
Chociaż nie jest to najlepsze miejsce do uzyskania ostatecznych informacji o tym, co robi każda metoda ( lepiej jest w tym przypadku sieć deweloperów Mozilli ), w3schools.com jest dobre do wprowadzenia cię w składnię.
źródło
substr
nie jest zalecane; należysubstring
zamiast tego użyć developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…źródło
Spróbuj tego:
źródło
Polecam też nazwać zmienne wielkimi literami (streetAddress) dla lepszej czytelności.
źródło
addy.split(',', 1)[0]
. Zobacz developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… .const [streetAddress,] = addy.split(',');
Jest to pomocne w przypadkach, gdy potrzebujesz więcej niż jednej wartości, takich jak:let [callerIdName, callerId] = callerIdString.split('<');
(oryginalny format callerIdString to MCMULLIN, PARKER <+ 1XXXXXXXXXX>)Jeśli podoba Ci się to krótko, po prostu użyj RegExp :
źródło
addy.split(',', 1)[0]
prawie taka sama jak odpowiedź Davida G., ale bez anonimowej funkcji, jeśli nie masz ochoty na nią.
w tym przypadku wykorzystujemy fakt, że drugim argumentem
substr
jest długość i wiemy, że nasz podłańcuch zaczyna się od 0.najwyższa odpowiedź nie jest ogólnym rozwiązaniem ze względu na niepożądane zachowanie, jeśli ciąg nie zawiera poszukiwanego znaku.
jeśli chcesz poprawnego zachowania w ogólnym przypadku, użyj tej metody lub metody Davida G, a nie najwyższej odpowiedzi
Metody regex i split również będą działać, ale mogą być nieco wolniejsze / przesadzone w przypadku tego konkretnego problemu.
źródło
Możesz także użyć
shift()
.Według MDN Web Docs:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift
źródło
(Powinieneś przeczytać samouczek javascript , zwłaszcza część o funkcjach String )
źródło
Jeśli chcesz zwrócić oryginalny ciąg nietknięty, jeśli nie zawiera on znaku wyszukiwania, możesz użyć funkcji anonimowej (zamknięcie):
Można to uczynić bardziej ogólnym:
źródło
źródło
Możesz użyć wyrażenia regularnego, ponieważ da ci to ciąg znaków, jeśli będzie zgodny z wymaganiami. Kod mógłby wyglądać następująco:
Więc rozbić kod.
[1-9][0-9]*
w zasadzie oznacza, że pierwsza liczba nie może być zerem i musi być liczbą pomiędzy,1-9
a kolejna liczba może być dowolną liczbą od0-9
i może występować zero lub więcej razy, ponieważ czasami liczba jest tylko jedną cyfrą, a następnie pasuje do spacji.[a-zA-Z]
w zasadzie dopasowuje wszystkie duże litery do małych liter i musi wystąpić jeden lub więcej razy, i to się powtarza.źródło
Możesz użyć Azle, aby uzyskać podciągi przed :
Wynik : w ten sposób przechodzimy do
po
Wynik : do miejsca!
i pomiędzy :
Wynik : idziemy do
źródło