• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Js RegExp znajdź pierwszy znak

0 głosów
246 wizyt
pytanie zadane 3 grudnia 2016 w JavaScript przez Alterwar Dyskutant (7,650 p.)

Witam, 

zaczynam uczyć się regexpa i męczę się z pewną rzeczą. 

Otóż podaję liczbę i zamieniam ją na string. Potrzebuję aby string po pierwszym znaku został rozdzielony kropką. Wiem, że trzeba użyć split i join. Jednak problem u mnie tkwi w regexie który próbuję stworzyć. Jeśli zwraca mi wartość to po pierwszym znaku. 

Tutaj moje rozumienie regexpa.

 

 var x = kwotaBrutto.toString();
      var d = x.search(/^\S{1}/);

Więc kwotę zamieniam na string, tworzę nową zmienną. Do zmiennej dodaje funkcję szukaj, która (tutaj to co rozumiem przez regexp, który napisałem) znajduję pierwszy znak, który nie jest znakiem białym oraz występuję dokładnie 1 raz. 

Czyli podając sumę 1400, chciałbym aby regexp zwrócił mi "1", "400". Niestety dostaję albo 0, albo "","400".

Jeśli by mi się udało to zrobić to po pierwszym znaku dodawałbym kropkę i suma wyglądała by tak : 1.400

Mógłby ktoś mi pomóc i wytłumaczyć w czym leży błąd?

1 odpowiedź

+1 głos
odpowiedź 3 grudnia 2016 przez niezalogowany
wybrane 4 grudnia 2016 przez Alterwar
 
Najlepsza

Metoda search zwraca pozycję podciągu -  0 wynika z tego, że /^\S/ szukany podciąg zaczyna się na samym początku stringa. 

var x = 2450..toString();

x.search(/4/); // 1
x.search(/2/); // 0
x.search(/5/); // 2

Jeśli chcesz się bawić, zapewne będą Ci potrzebne Capturing Groups i Backreferences. 

(Jednak łatwiej byłoby to zrobić pętlą for)

(Btw - toLocaleString - imo nie ma co wymyślać koła na nowo)

komentarz 4 grudnia 2016 przez Alterwar Dyskutant (7,650 p.)
ok dzięki za odpowiedź.

Podobne pytania

+1 głos
2 odpowiedzi 319 wizyt
pytanie zadane 21 czerwca 2016 w PHP przez maly Nałogowiec (37,190 p.)
0 głosów
0 odpowiedzi 136 wizyt
pytanie zadane 21 stycznia 2016 w Java przez NTXFN Gaduła (3,430 p.)
0 głosów
2 odpowiedzi 469 wizyt
pytanie zadane 19 czerwca 2017 w JavaScript przez ASido Użytkownik (510 p.)

93,772 zapytań

142,730 odpowiedzi

323,383 komentarzy

63,367 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...