Wie funktioniert das Splitten von Strings (Html) mit Tasker?

  • Antworten:18
Harald Müller
  • Forum-Beiträge: 9

06.05.2017, 21:35:53 via Website

Hallo,

hat jemand Ahnung mir das Splitten von Variablen zu erklären.
Bei sämtlichen Anleitungen, mit welchen ich probiert habe, sind die http Links und damit der Quellcode nur noch Error Meldungen, sodass eine Analyse für den, der es noch nicht gemacht hat, nicht möglich ist. Das liegt u.a. daran dass die Threads / Erklärungen schon mehrere Jahre alt sind.

Gruß Harald

— geändert am 07.05.2017, 14:56:16 durch Moderator

Antworten
Klaus
  • Blogger
  • Forum-Beiträge: 19.172

07.05.2017, 09:43:59 via App

Hallo Harald Müller!

Ich habe mir mal erlaubt, deinen Threadtitel etwas zu bearbeiten. Bitte sei doch so gut und achte das nächste Mal auf einen aussagekräftigeren Threadtitel.

Danke :)

| LG Klaus |
| Google Nexus 6P - Dirty Unicorns | Google Nexus 6 - Dirty Unicorns |
| Das AndroidPITiden-Buch | Die Androiden-Toolbox | AndroidPIT-Regeln |

swa00

Antworten
swa00
  • Forum-Beiträge: 3.704

07.05.2017, 09:48:30 via Website

Hallo Harald,

bitte sei so freundlich und erkläre mal genau an einem Beispiel, was du mit "Splitten von Variablen"
meinst.
Denn auf Anhieb kann man sich aus Entwicklersicht relativ wenig vorstellen

Liebe Grüße - Stefan
[ App - Entwicklung ]

Pascal P.

Antworten
Gelöschter Account
  • Forum-Beiträge: 21.034

07.05.2017, 11:15:59 via Website

Ich denke, Harald möchte einen String aufteilen, konkret, einen Link. In Perl heißt der Befehl dafür sogar "split"

Antworten
Harald Müller
  • Forum-Beiträge: 9

07.05.2017, 13:44:00 via Website

Hallo,
konkret handelt es sich um einen Link, den ich hier als neue Mitglieder vorerst nicht veröffentlichen darf. Die URL ist aber unten hinter Server Port zu finden.
Ich möchte letztentlich nur den Kurswert heraussplitten.
Mit u.St. Befehlen wird mir schon mal ab "Adidas Aktie | Rating | Analyse...." angezeigt. Wie ich das herausfiltern kann, was ich will, verstehe ich derzeit noch nicht.

A1: HTTP
Server Port: Get [view-source:www.onvista.de/aktien/ratings/Adidas-Aktie-DE000A1EWWW0 Pfad:
Attribute:
Timeout:55
MIME Typ: text/html
Ausgabe Datei: bbb.txt5 ]

A2: Read File
File: bbb.txt
To Var: %bbb

A3: Splitt
Name %bbb
Splitter

A4: Flash
Text: %bbb

Gruß Harald

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

07.05.2017, 13:51:08 via Website

Hallo Harald,
ist das schon dein Programmcode (wenn ja dann kenne ich die Sprache nicht..) oder ist es Pseudocode?

Wenn du in Java/Android programmierst, lädst du dir den Quellcode per HttpRequest herunter und wertest den dann z.b. mittels einem Parser wie JSoup aus.
Das ist das einfachste und schnellste hier.

LG Pascal //It's not a bug, it's a feature. :) ;)

swa00

Antworten
swa00
  • Forum-Beiträge: 3.704

07.05.2017, 13:57:38 via Website

Hallo Harald,

Pascal hat dir bereits einer der besten Vorschläge unterbreitet.

Dennoch können wir aus deiner Problemstellung nicht erkennen , ob du schon einem HttpRequest realisiert hast
und wenn ja wie . (AsynTask ? InputStream ? WebClient ?)
Erst dann können wir mit dem von dir präsentierten Codeschnipsel auch auf dich eingehen und wissen , was du als Ausgangsformat hast und wo es bei dir hakt.

Ich vermute mal , du hast entweder den kompletten Webinhalt als String und möchtest Diesen "parsen" und
nicht splitten.

Wir benötigen hier also von dir detallierte Angaben & Code Schnipsel & ggf Errorlog, somit müssen wir auch nicht
rätseln oder mehrmals nachhaken.

— geändert am 07.05.2017, 14:02:49

Liebe Grüße - Stefan
[ App - Entwicklung ]

Pascal P.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

07.05.2017, 14:55:55 via Website

Hallo Harald,
das musst du uns natürlich auch mitteilen ;)
Da du deinen Thread hier im Entwicklerbereich erstellt hast, sind wir davon ausgegegangen du willst selber eine App programmieren (in Java etc..) die dir die Informationen liefert.

Da du aber Tasker meinst, bist du hier leider an der falschen stelle.
Ich verschiebe dem Thread mal in die passende Kategorie.

LG Pascal //It's not a bug, it's a feature. :) ;)

swa00

Antworten
swa00
  • Forum-Beiträge: 3.704

07.05.2017, 14:58:09 via Website

Hallo Harald,

dies ist das Forum für die Entwicklung für Java unter Android mit Android Studio.
Also reines Programmieren und wir behandeln hier leider keine Tasker Scripts.

Das ist auch der Grund , weshalb wir alle ein wenig gerätselt haben, was du denn genau tust :-)

P.S Jsoup ist eine Bibliothek für Programmierer , genau so wie der Begriff "Parsen"

EDIT : Pascal war mal wieder schneller :-)

— geändert am 07.05.2017, 14:59:13

Liebe Grüße - Stefan
[ App - Entwicklung ]

Pascal P.

Antworten
Harald Müller
  • Forum-Beiträge: 9

07.05.2017, 15:50:22 via Website

Hallo swa00,
Sorry, dass hab ich gar nicht geschnallt. Danke für's verschieben. Vielleicht hab da mehr Glück.

Gruß Harald

Antworten
Ludwig H.
  • Forum-Beiträge: 3.256

08.05.2017, 17:08:54 via Website

Hallo Harald,

So, habe jetzt grad mal ein paar Minuten gefunden um dir zu antworten. :)

Prinzipiell sollte die Anleitung, die Tasker mitliefert reichen:

Variable Split

Split the value of the given variable into several sub-variables.

Each time Splitter is encountered in the variable value, a new
variable is made with name %VARX.

If Delete Base is selected, the original variable is removed after the
split.

Example: %VAR contains "I;like;humus". After the action
Split/%VAR/;/Yes %VAR is replaced with 3 variables %VAR1, %VAR2 and
%VAR3 containtin "I", "like" and "humus".

Also nochmal kurz:
Du willst eine HTML Seite parsen, die zb so aussieht:

<head></head><body>Text</body>

Dann musst du (angenommen es ist die Variable %Code) so splitten:
Split nach ' < body > ' ->
%Code1 wird zu ' < head >< /head > '
%Code2 wird zu ' Text < /body >'

Dann %Code2 nochmal nach ' < /body> ' splitten und du bekommst in %Code21 das Wort "Text".

Hier habe ich noch eine schöne Anleitung gefunden: http://www.androidauthority.com/tasker-variable-split-android-customization-650710/

Ich hoffe das hilft :)

Torstenswa00

Antworten
Harald Müller
  • Forum-Beiträge: 9

08.05.2017, 17:25:38 via Website

Hallo Ludwig,

lässt sich dein Beispielquelltext versuchsweise irgendwo eingeben, damit ich probieren kann auf "Text" zu kommen?
Anderenfalls hätte ich jetzt wieder nur irgendeine Internetseite mit ganz viel Quelltext.

Gruß Harald

— geändert am 08.05.2017, 17:28:37

Antworten
Ludwig H.
  • Forum-Beiträge: 3.256

09.05.2017, 18:10:33 via App

Klar, du kannst dir in Tasker unter "Variable" auch einfach eine eigene hinzufügen mit dem entsprechenden Text. ;)

Antworten
Harald Müller
  • Forum-Beiträge: 9

09.05.2017, 20:23:08 via Website

Da gibt es verschiedene Variable Aktionen. Welche? Variable setzen, Test Variable ...?

Antworten
Ludwig H.
  • Forum-Beiträge: 3.256

11.05.2017, 06:41:00 via App

Naja, nachdem du ja den Wert einer Variablen setzen willst, tippe ich auf "Variable setzen" ;)
Du kannst dir auch immer den Hilfetext zu jeder Aktion durchlesen. Das steht immer recht gut beschrieben was sie macht.

— geändert am 11.05.2017, 06:41:14

Antworten
Harald Müller
  • Forum-Beiträge: 9

11.05.2017, 08:14:33 via Website

Hallo Ludwig,
ich werde aus dem Hilfetext leider nicht ganz schlau.

Variable setzen:
Name: %Code
Zu: Text
Math: ??

So etwa?

Deine andere Anleitung habe ich nachgebaut.
Action 2 geht nicht, obwohl ich alles richtig eingegeben habe.

Gruß Harald

Antworten
Harald Müller
  • Forum-Beiträge: 9

11.05.2017, 10:20:45 via Website

Ok. Ich hab's geschafft, dass Text rauskommt. Jetzt muss ich bloß noch rauskriegen, wie ich das hinbekommen habe. :)

Antworten
Ludwig H.
  • Forum-Beiträge: 3.256

11.05.2017, 18:29:38 via App

Genau, du setzt damit einfach den Inhalt der Variablen.

Um mein Beispiel nachzubauen müsstest du die Variable %Code quasi auf

<head></head><body>Text</body>

setzen.

Antworten