Node.js text auslesen und trennen?

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.

Die Datei kannst du mit readline zeilenweise einlesen. Zum Splitten der Werte kannst du die split-Funktion nutzen.

var parts = line.split(":");

Die Variable parts stellt ein Array dar, welches alle gesplitteten Werte enthält.

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

peter12908 
Fragesteller
 18.12.2018, 15:20

es soll bei einen : gesplittted werden und nicht bei einen lehrzeile

0