2016-03-31 4 views
0

Angenommen die Zeichenfolge:Ersetzen Sie den Wert nach der Aufteilung in Javascript

"Der | Hund";

Wenn ich in js:

var string; 
string = "The | dog | and | apple"; 
string.split("|")[1]; 

Die Erträge werden "Hund". Ich möchte, dass ersetzen, somelike dies:

string.split("|")[1] = "cat"; 

Und die Zeichenfolge pass „The | cat | und | Apfel“ zu sein, zu wissen, wie Zeichenfolge „Hund“ kann ein anderer Wert sein.

Es ist möglich?

+1

Es ist möglich, aber nicht in einem Ausdruck . Sie könnten jedoch 'replace()' verwenden. – elclanrs

+3

Kannst du '.replace ('dog', 'cat')' nicht benutzen? – cl3m

+0

Dies ist ein einfaches Beispiel, in Produkten muss ich Split verwenden und ich kenne nicht den Wert, kann 123 oder 456 und mehr sein ... dann habe ich nicht mit ersetzen können –

Antwort

3

Sie das Element einzelnen Array ersetzen und dann wieder verwenden beitreten, um eine Zeichenfolge zu machen:

var string = "The | dog"; 

var DELIMITER = " | "; 
var parts = string.split(DELIMITER); 
parts[1] = "cat"; 
string = parts.join(DELIMITER); 

// string === "The | cat" 
+0

Humm, okay, und Wenn die Zeichenfolge "Der | Hund | und | Apfel" ist, wenn ich den Hund für einen anderen Wert ersetzen könnte, kann der Hund auch eine andere Zeichenfolge sein. –

+0

Ja, es wird nur den Inhalt zwischen dem ersten und zweiten 'DELIMITER' ersetzen. Wenn Sie eine andere Position ersetzen möchten, können Sie 'parts [1]' in etwas anderes ändern. – Paulpro

2
var arr=string.split('|'); 
arr[1]='cat' 
var s=arr.join('|'); 

oder mit regulären Ausdrücken

Verwandte Themen