2016-08-18 6 views
-2

Ich habe eine Zeichenfolge, wenn Blicke gedruckt wie dieses "fname XYZ mname {} lname ABC"Javascript String-Parsing-Ausgabe

Sein als einzelnen Zeichenfolge im Code gespeichert. Nicht als ein Objekt. Aber ich möchte auf fname, mname und lname individuell zugreifen können. Wie kann ich fname, mname und lname getrennt ausgeben? Gibt es einen einfachen Weg oder sollte ich die Zeichenfolge als ein Objekt für den einfachen Zugriff auf fname, mname, lname speichern?

+3

Klingen wie ein Objekt hier eine vernünftige Wahl sein würde. – Siguza

+3

Sie benötigen ein Objekt. – Joe

+0

Teilen Sie die Zeichenfolge auf die Leerzeichen und nehmen Sie das erste, dritte und fünfte Element. – j08691

Antwort

0

Wenn sie alle durch ein Leerzeichen getrennt sind, können Sie die Zeichenfolge in ein Array von Zeichenfolgen aufteilen.

var inputString = "fname XYZ mname {} lname ABC"; 
var strings = inputString.split(" "); // outputs ["fname", "XYZ", "mname", "{}", "lname", "ABC"] 
+0

Sie sind alle durch ein einzelnes Leerzeichen getrennt. Ich denke, das Konvertieren in Array und dann Zugriff durch [1] [3] und [5] würde mir die Werte für fname, mname und lname geben. – RKP382

+0

Dann ja, das wäre der einfachste Weg. Denken Sie daran, dass Array-Indizes nullbasiert sind. (fname wird Zeichenfolgen [0] sein) – Jecoms

+0

Ja. Danke Jecoms. – RKP382

0

Sie können ein assoziatives Array wie folgt erhalten:

var str = "fname XYZ mname {} lname ABC"; 
var obj = []; 
str.split(" ").forEach((item, index, arr) => {if (index%2 === 0) obj[item] = arr[index+1]}) ; 
console.log(obj); // [ fname: 'XYZ', mname: '{}', lname: 'ABC' ] 
Verwandte Themen