Wie kann ich mit JavaScript das letzte Komma entfernen, aber nur, wenn das Komma das letzte Zeichen ist oder wenn nach dem Komma nur Leerzeichen stehen? Das ist mein Code. Ich habe eine Arbeit Geige. Aber es hat einen Fehler.
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;
}
Sollen auch die Leerzeichen am Ende entfernt werden?
– Felix Kling
18. Juli ’13 um 10:01
wenn es nur ein Leerzeichen ist, ja
– Ana Maria
18. Juli ’13 um 10:01
Wie wäre es mit Leerzeichen vor dem betreffenden Komma? Sollen diese auch entfernt werden? in diesem Fall: str = str.replace(/,s*$/, “”); würde zu str = str.replace(/s*,s*$/, “”);
– Amitabh
13. Dezember ’16 um 1:30
Dadurch werden das letzte Komma und alle Leerzeichen danach entfernt:
str = str.replace(/,s*$/, "");
Es verwendet einen regulären Ausdruck:
Der / markiert den Anfang und das Ende des regulären Ausdrucks
Der , stimmt mit dem Komma überein
Der s bedeutet Leerzeichen (Leerzeichen, Tabulator usw.) und die * bedeutet 0 oder mehr
Der $ am Ende bedeutet das Ende der Zeichenfolge
Verwenden Sie str.replace(/,+/g,”,”).replace(/(,s*$)|(^,*)/, “”); Wenn Sie das anfängliche leere Komma oder Doppelkomma entfernen möchten, würde aus “,,8,7” beispielsweise “8,7” werden
– Miguel
24. August ’17 um 15:22
@ParkashKumar Jon hat bereits über das letzte gesprochen /. The / mark the beginning and end of the regular expression.
– Asif Ali
13. Dezember ’17 um 10:11
Sehr nützlich Danke.
– Alok Ranjan
9. Juli ’20 um 10:19
e-techpulse
Sie können das letzte Komma aus einer Zeichenfolge entfernen, indem Sie die Methode Slice () verwenden, finden Sie unten Beispiel:
var strVal = $.trim($('.txtValue').val());
var lastChar = strVal.slice(-1);
if (lastChar == ',') {
strVal = strVal.slice(0, -1);
}
Hier ist ein Beispiel
function myFunction() {
var strVal = $.trim($('.txtValue').text());
var lastChar = strVal.slice(-1);
if (lastChar == ',') { // check last character is string
strVal = strVal.slice(0, -1); // trim last character
$("#demo").text(strVal);
}
}
function removeLastComma(str) {
return str.replace(/,(s+)?$/, '');
}
Booboo
Die stark positive Antwort entfernt nicht nur das letzte Komma, sondern auch alle darauf folgenden Leerzeichen. Aber das Entfernen der folgenden Leerzeichen war nicht was war Teil des ursprünglichen Problems. So:
let str="abc,def,ghi, ";
let str2 = str.replace(/,(?=s*$)/, '');
alert("'" + str2 + "'");
'abc,def,ghi '
var sentence="I got,. commas, here,";
var pattern=/,/g;
var currentIndex;
while (pattern.test(sentence)==true) {
currentIndex=pattern.lastIndex;
}
if(currentIndex==sentence.trim().length)
alert(sentence.substring(0,currentIndex-1));
else
alert(sentence);
Deepu Reghunath
Letztes Komma entfernen. Arbeitsbeispiel
function truncateText() {
var str= document.getElementById('input').value;
str = str.replace(/,s*$/, "");
console.log(str);
}
<input id="input" value="address line one,"/>
<button onclick="truncateText()">Truncate</button>
.
2155700cookie-checkLetztes Komma aus einer Zeichenfolge entfernenyes
Sollen auch die Leerzeichen am Ende entfernt werden?
– Felix Kling
18. Juli ’13 um 10:01
wenn es nur ein Leerzeichen ist, ja
– Ana Maria
18. Juli ’13 um 10:01
Wie wäre es mit Leerzeichen vor dem betreffenden Komma? Sollen diese auch entfernt werden? in diesem Fall: str = str.replace(/,s*$/, “”); würde zu str = str.replace(/s*,s*$/, “”);
– Amitabh
13. Dezember ’16 um 1:30