Original String ist, "a,d,k"
ich möchte alle entfernen ,
und es zu machen "adk"
.
Ich habe den folgenden Code ausprobiert, aber er funktioniert nicht.
"a,d,k".replace(/,/,"")
javascript
string
Jiaoziren
quelle
quelle
Antworten:
Sie weisen das Ergebnis der Ersetzungsmethode nicht wieder Ihrer Variablen zu. Wenn Sie replace aufrufen, wird eine neue Zeichenfolge zurückgegeben, ohne die alte zu ändern.
Laden Sie dies beispielsweise in Ihren bevorzugten Browser:
<html><head></head><body> <script type="text/javascript"> var str1 = "a,d,k"; str1.replace(/\,/g,""); var str2 = str1.replace(/\,/g,""); alert (str1); alert (str2); </script> </body></html>
In diesem Fall
str1
wird"a,d,k"
undstr2
bleibt"adk"
.Wenn Sie sich ändern möchten
str1
, sollten Sie Folgendes tun:var str1 = "a,d,k"; str1 = str1.replace (/,/g, "");
quelle
str.split(",").join("")
Verwenden Sie
String.replace()
zvar str = "a,d,k"; str = str.replace( /,/g, "" );
Beachten Sie das
g
(globale) Flag im regulären Ausdruck, das allen Instanzen von "," entspricht.quelle
Wenn Sie mehr als ein Zeichen löschen möchten, sagen Sie Komma und Punkte, die Sie schreiben können
<script type="text/javascript"> var mystring = "It,is,a,test.string,of.mine" mystring = mystring.replace(/[,.]/g , ''); alert( mystring); </script>
quelle
Sie können etwas versuchen wie:
var str = "a,d,k"; str.replace(/,/g, "");
quelle
<script type="text/javascript">var s = '/Controller/Action#11112';if(typeof s == 'string' && /\?*/.test(s)){s = s.replace(/\#.*/gi,'');}document.write(s);</script>
Es ist eine häufigere Antwort. Und kann mit verwendet werden
s= document.location.href;
quelle
Wenn Sie eine Nummer größer als 999.999,00 benötigen, haben Sie ein Problem.
Diese sind nur für Zahlen unter 1 Million, 1.000.000 gut.
Sie entfernen nur 1 oder 2 Kommas.
Hier das Skript, das bis zu 12 Kommas entfernen kann:
function uncomma(x) { var string1 = x; for (y = 0; y < 12; y++) { string1 = string1.replace(/\,/g, ''); } return string1; }
Ändern Sie diese for-Schleife, wenn Sie größere Zahlen benötigen.
quelle
g
in Ihrer Regex bedeutet global und entfernt beim ersten Durchgang alle Kommas aus der Zeichenfolge. Die anderen 11 Schleifen tun nichts. Außerdem müssen Sie dem Komma im Literal nicht entkommen. Ich würde raten, nicht so feindselig und kritisch gegenüber den Antworten anderer zu sein.