2017-06-27 3 views
0

Ich bekomme meine Zeichenfolge so.So entfernen Sie den Wert nach einem Sonderzeichen

ex: 1

input.value = " United State; UK"

Ex 2:

input.value = " United State; UK; AUS"

Oder so weiter.

Nun, ich letzten Wert UK in Beispiel ein und AUS in Beispiel 2 Was ich versuche, hier ist

var splitValue = input.value.split(";"); 
    splitValue.splice(splitValue.length-1); 
    input.value = splitValue.join(";"); 

Aber nicht wissen, entfernen möge, warum ich nicht die richtige Antwort zu bekommen. Mein letzter Wert verliert seine Semikolon.

So beheben Sie das Problem.

Antwort

2

var input = " United State; UK; AUS" 
 

 
var newinput = input.split(';'); 
 
newinput[newinput.length-1] = ""; 
 

 
console.log(newinput.join(';'));

+0

Danke dafür.Ich denke, das ist richtig –

0

einen Versuch geben

str = " United State; UK"; 
var arr = str.split(";"); 
arr.pop(); 
console.log(arr.join(";")); 
2

Sie benötigen diese

input.value.replace(/;[A-Za-z0-9\s]*$/,"") 

Dies wird Ihnen tun, was Sie brauchen. Auch versuchen, dies zu verstehen, wird dieser alphanumerischen Wert mit Leerzeichen nach ;

entfernen Sie können ersetzen [A-Za-z0-9\s] mit dem, was Sie wissen, dürfen Zeichen nach dem ;

+0

Danke, versuche ich dies. Aber es wird mir helfen, wenn Sie elobrate oder einen Link, so dass ich über reguläre Ausdrücke lesen kann –

+1

Dies ist der beste Link, den ich kenne Regexp lernen: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/ Regular_Expressions –

+0

Danke Ich werde dies lesen –

1

Ein Ansatz ist hier eine Regex zu verwenden, die alles bis einschließlich des letzten Semikolons verbraucht und aufzeichnet. Alles danach ist das letzte Wort, das du verwerfen möchtest.

var str = 'United States; UK; AUS'; 
 
console.log(str.replace(/(.*;).*$/, '$1'));

Ausgang:

United States; UK; 
+0

Vielen Dank dafür, Dies ist auch ein klügerer Weg zu tun –

0

Sie so etwas wie diese verwenden können ..

var Inputvalue = "United State; UK; AUS"; 
Inputvalue = Inputvalue .substr(0, Inputvalue .lastIndexOf(";")); 
alert(Inputvalue); 
+0

Aber in diesem Fall fehlt '' 'vom letzten Wert. UK hier –

0

versuchen Sie dieses

var a = " United State; UK"; 
 
var b = " United State; UK; AUS"; 
 
var value = ""; 
 
var value1=""; 
 

 
//example 1 
 
var splitValue = a.split(" "); 
 
for (var i = 1; i < splitValue.length - 1; i++) { 
 
    value += splitValue[i]+" "; 
 
} 
 
console.log(value); 
 
//example 2 
 
var splitValue = b.split(" "); 
 
for (var i = 1; i < splitValue.length - 1; i++) { 
 
    value1 += splitValue[i]+" "; 
 
} 
 
console.log(value1);

Verwandte Themen