NEWS
JavaScript - GREP?
-
Guten Morgen, ich speichere in einer Variable folgendes:
Dies möchte ich nun weiter verarbeiten und beispielsweise nur das letzte "jsobj['val']='1';" bzw. dessen Wert von 1 in der Variablen haben. Die Daten hole ich mittels cheerioReq.
Wie kann ich das gewünschte mittels JS greppen?
Danke und einen schönen Sonntag!
Grüße Thorsten
cheerioReq('http://' + adapter.config.isgIP, (err, $) => { var value = $('script').last(); if (debugging === true) adapter.log.info('ScriptParse: ' + value); /* */ }); -
Hallo Ingo, schau ich mir mal an. Mal schauen wie weit ich da komme - regex und ich waren bisher noch keine Freunde :D
-
So, hab da jetzt nach einigen Versuchen doch was hinbekommen, aber ich denke schön ist wirklich anders :)
var value = $('script').last().toString(); //adapter.log.info('cherrio-req: ' + value); var replacelinebreak = value.replace(/\n|\r/g, ''); adapter.log.info('replacelinebreak: ' + replacelinebreak); var index = replacelinebreak.indexOf("val82info").toString(); adapter.log.info('indexof: ' + index); var start = parseFloat(index) + 25; adapter.log.info('start: ' + start); // Select Test var end = index + 50; var substrTest = replacelinebreak.substring(index, end); adapter.log.info('substringTest: ' + substrTest); var end = start + 1; adapter.log.info('end: ' + end); // Value var substr = replacelinebreak.substring(start, end); adapter.log.info('substring: ' + substr);Das Log, letzte Zeile meine Gewünschte '3':
2018-08-12 11:37:54.513 - info: stiebel-lwz.0 replacelinebreak: 2018-08-12 11:37:54.514 - info: stiebel-lwz.0 indexof: 999 2018-08-12 11:37:54.514 - info: stiebel-lwz.0 start: 1024 2018-08-12 11:37:54.514 - info: stiebel-lwz.0 substringTest: val82info';jsobj['val']='3';jsvalues.push(jsobj); 2018-08-12 11:37:54.515 - info: stiebel-lwz.0 end: 1025 2018-08-12 11:37:54.515 - info: stiebel-lwz.0 substring: 3Jetzt hoffe ich nur das sich da nichts mehr verschiebt, habe deshalb bewusst nach 'val82info' gesucht und dann die Zeichen nach 'vorne' dazugezählt.
-
Mit regex ist man ein bissl flexibler in Bezug auf Änderungen. Aber ist aufwändiger.
Ich nutze immer regex101.com zum bauen/experimentieren.
Gesendet vom Handy …
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden