Node.js text auslesen und trennen?
Hey, ich möchte gerne dass bei Node.js aus einer Dtaei ausgelesen wird
z.B. text1:text2
ich will das man das mit split irgendwie beim : auseinander tut dass dann text1 in eine Variable gesetzt wird und text2 in eine Variable gesetzt wird dass wenn ich bei der ausgabe einfach z.B variable1 rauskommt und da dann in dem fall text1 drin steht.
3 Antworten
Wie bereits in einer anderen Antwort erwähnt, kann die String-Methode Split verwendet werden, um eine Zeichenkette an Doppelpunkten (oder auch jedem anderen Zeichen) zu trennen.
Wenn du allerdings nur eine Datei lesen musst, wäre das Paket readline schon viel zu viel Zeug, dass man nicht braucht. Dafür kannst du aus dem Standard-Paket fs (FileSystem) die Methode readFile (alternativ auch readLineSync) nutzen -- dafür muss auch nichts installiert werden, weil es bei jeder Node.js Version schon dabei ist.
Beispiel:
// Asyncron
const fs = require('fs');
fs.readFile('datei.txt', (error, data) => {
if (error) throw error;
var parts = data.toString().split(':');
// weiterverarbeiten
console.log(parts);
});
// Syncron
const fs = require('fs');
var parts = fs.readFileSync('datei.txt').toString().split(':');
// weiterverarbeiten
console.log(parts);
Es ist wichtig zu wissen, dass die Datei immer als buffer zurückgegeben wird (falls mit Binärdaten gearbeitet wird) und aus diesem Grund immer .toString() aufgerufen werden muss, wenn Stringfunktionen verwendet werden.
Also um Strings zu trennen benötigst du die Funktion Substring.
Dann kannst du ganz easy einen String an der benötigten stelle trennen. Die beiden Strings werden dann in ein Array gespeichert und dort kannst du diese dann auslesen.
https://stackoverflow.com/questions/43634126/how-to-split-a-line-with-tab-in-nodejs
Ein bisschen denken/googlen musst du schon. Ersetz einfach des /t durch :
es soll bei einen : gesplittted werden und nicht bei einen lehrzeile