NEWS
[gelöst] Array über split erzeugen - kein Bug!
-
Ich habe schon öfters versucht den Inhalt eines Textes/Arrays... per split in kleiner Einheiten aufzuteilen, wie ich es in nativen js gesehen hatte.
Das hat nie geklappt, ich habe es meinem Unvermögen zugeschrieben.
Jetzt hatte ich es nochmal gemacht und komme nur über massive Krücken zu dem gewünschten ergebenis.
Der Block "Liste aus Text erzeugen mit Trennzeichen..." hat im js-code den split Befehl
Startliste = result.split('\\r\\n');
Leider schreibt dieser Block, tatsächlich ein \r\n an die Stellen, in denen in dem CSV der neue Datensatz beginnt, aber eine Auflösung über "in Liste nehme das 7. Element" ergibt nur ein undefined
Mache ich etwas falsch oder ist das ein bug?
Das Blockly:
"Teilliste" ergibt undefined
"Startliste" sieht so aus:
-
@homoran kann ich bestätigen, da ist etwas nicht ganz richtig
und so geht es dann
über eine funktion mit:
return getState("0_userdata.0.Oesi_Impfen.all").val.split('\r\n')
-
@liv-in-sky sagte in Array über split erzeugen - Bug??:
@homoran kann ich bestätigen, da ist etwas nicht ganz richtig
Ich kann leider nicht bestätigen das das ein Bug ist. Die Nutzung ist allerdings nicht ganz richtig ist. Das Problem an der Stelle ist der Umgang mit Sonderzeichen. So wie Blockly damit umgeht geht es davon aus das die angegebenen Zeichen genau in der Form im Text auftauchen sollen wie sie angegeben werden. Dadurch wird aus einen \r ein \\r. Das ist kein Bug sondern ein geplantes Verhalten.
Um das zu umgehen gibt es extra einen Baustein.
vereinfacht geschrieben:
Falsch:
Richtig: -
-
@asgothian sagte in Array über split erzeugen - Bug??:
Richtig:
Danke, das versuche ich sofort noch einmal.
Ich bin mir sicher, dass das auch nicht klappte.
Kann aber sein dass ich es nur mit "newLine" in Verbindung mit \n oder \r versucht hatte -
@paul53 war blödsinn was hier stand - alle gut - du hast natürlich richtige angaben gemacht
-
@liv-in-sky Danke!
das klappt wenn man es richtig macht.ich hatte wohl "neue Zeile" nur mit beiden einzelnen \r oder \n probiert