Używając JavaScript, jak mogę usunąć ostatni przecinek, ale tylko wtedy, gdy przecinek jest ostatnim znakiem lub jeśli po przecinku jest tylko spacja? To jest mój kod. Mam działające skrzypce . Ale ma błąd.
var str = 'This, is a test.';
alert( removeLastComma(str) ); // should remain unchanged
var str = 'This, is a test,';
alert( removeLastComma(str) ); // should remove the last comma
var str = 'This is a test, ';
alert( removeLastComma(str) ); // should remove the last comma
function removeLastComma(strng){
var n=strng.lastIndexOf(",");
var a=strng.substring(0,n)
return a;
}
javascript
Ana Maria
źródło
źródło
Odpowiedzi:
Spowoduje to usunięcie ostatniego przecinka i wszelkich odstępów po nim:
Używa wyrażenia regularnego:
/
Znak początek i koniec wyrażenia regularnego,
Dopasowuje przecinekTe
\s
środki białych znaków (przestrzeń, zakładka, etc) oraz*
środki 0 lub więcejNa
$
końcu oznacza koniec łańcuchaźródło
/
.The / mark the beginning and end of the regular expression
.możesz usunąć ostatni przecinek z ciągu za pomocą metody slice (), znajdź poniższy przykład :
Oto przykład
źródło
źródło
długi strzał tutaj
źródło
Bardzo pozytywna odpowiedź usuwa nie tylko ostatni przecinek, ale także wszelkie następujące po nim spacje. Ale usunięcie tych następujących spacji nie było częścią pierwotnego problemu. Więc:
https://jsfiddle.net/dc8moa3k/
źródło
Problem polega na tym, że usuwasz ostatni przecinek w ciągu, a nie przecinek, jeśli jest to ostatnia rzecz w ciągu. Powinieneś więc wstawić if, aby sprawdzić, czy ostatni znak to „,” i zmienić go, jeśli tak jest.
EDYCJA: Czy to naprawdę takie zagmatwane?
„To jest losowy ciąg”
Twój kod znajduje ostatni przecinek z ciągu i przechowuje tylko „This”, ponieważ ostatni przecinek występuje po „This”, a nie na końcu ciągu.
źródło
możesz usunąć ostatni przecinek:
źródło
Usuń ostatni przecinek. Przykład roboczy
źródło
Najpierw należy sprawdzić, czy ostatnim znakiem jest przecinek. Jeśli istnieje, usuń go.
UWAGA str.indexOf (',', this.length - ','. Length) można uprościć do str.indexOf (',', this.length - 1)
źródło