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

JS - funkcja zamieniająca znaki w stringu

Object Storage Arubacloud
–1 głos
490 wizyt
pytanie zadane 7 grudnia 2018 w C i C++ przez DarekP Nowicjusz (140 p.)

Chcę napisać funkcję która zamieni text w kebab case na snake case czyli  "-" na podkreślenia np numer-faktury na numer_faktury

Niestety ale to co stworzyłem mi nie działa:

function kebabToSnake(str) {for(i=0;i<=str.lenght-1; i++) {if(str[i]=="-") {str[i]="_"}; console.log(str);}}

Próbowałem zobaczyć czy algorytm jest dobry i właściwie mi znajduje myślniki ale to również mi nie działa

for(i=0;i<=str.lenght-1; i++) {if(str[i]==="-") { console.log(str)}}

 

1 odpowiedź

+2 głosów
odpowiedź 7 grudnia 2018 przez niezalogowany
var string = '-tekst-';
var rpStringS = string.replace(/-/, "_"); //zmiana pierwszego znalezionego
var rpStringG = string.replace(/-/g, "_"); //zmiana wszystkich znalezionych

Coś takiego?

komentarz 7 grudnia 2018 przez DarekP Nowicjusz (140 p.)
Tak, dokładnie o to mi chodziło, ale nie chcę robić tego za pomocą zaimplementowanych w js metod dla stringa, tylko sam próbuję napisać taką funkcję i mi nie wychodzi
komentarz 7 grudnia 2018 przez Tomek Sochacki Ekspert (227,510 p.)
po co sam skoro są od tego gotowe mechanizmy? :) programowanie to nie usilne robienie wszystkiego od zera i wymyslanie koła na nowo tylko umiejetnosc świadomego wykorzystania tego co nam daje język out-of-the-box.
komentarz 7 grudnia 2018 przez DarekP Nowicjusz (140 p.)
Tak wiem, że o ilę się da to należy korzystać z wbudowanych metod ale w tym przypadku uczę się jeżyka i takie fajne proste zadania wolę zrobić sam w ramach ćwiczeń :)
komentarz 7 grudnia 2018 przez niezalogowany
edycja 7 grudnia 2018
https://www.w3schools.com/jsref/jsref_substring.asp

Można zrobić to przy pomocy substring i pętli. Można też wszystkie litery wrzucić do tablicy potem sprawdzić pętla, które są jakimś znakiem i zamienić?

https://www.w3schools.com/jsref/jsref_split.asp

Ogólnie to string w js jest immutable więc operacje w stylu str[2] = "F" nie zadziałają.
komentarz 7 grudnia 2018 przez DarekP Nowicjusz (140 p.)
Immutable - widzę że to jest w tym wszystkim klucz i dlatego nie mogę tego zrobić w ten sposób :)

Podobne pytania

0 głosów
2 odpowiedzi 572 wizyt
pytanie zadane 3 grudnia 2018 w JavaScript przez Szost Nowicjusz (140 p.)
0 głosów
1 odpowiedź 794 wizyt
pytanie zadane 30 stycznia 2017 w C i C++ przez mmpat Nowicjusz (190 p.)
0 głosów
1 odpowiedź 335 wizyt

92,550 zapytań

141,394 odpowiedzi

319,522 komentarzy

61,935 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...