• 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

VPS Starter Arubacloud
–1 głos
486 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 568 wizyt
pytanie zadane 3 grudnia 2018 w JavaScript przez Szost Nowicjusz (140 p.)
0 głosów
1 odpowiedź 748 wizyt
pytanie zadane 30 stycznia 2017 w C i C++ przez mmpat Nowicjusz (190 p.)
0 głosów
1 odpowiedź 317 wizyt

92,455 zapytań

141,263 odpowiedzi

319,100 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...