• 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

–1 głos
99 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 Mędrzec (186,730 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 62 wizyt
0 głosów
1 odpowiedź 85 wizyt
pytanie zadane 30 stycznia 2017 w C i C++ przez mmpat Nowicjusz (190 p.)
0 głosów
2 odpowiedzi 114 wizyt
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

65,676 zapytań

112,314 odpowiedzi

237,031 komentarzy

46,653 pasjonatów

Przeglądających: 149
Pasjonatów: 0 Gości: 149

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...