AMIGA-RESISTANCE https://forum.amiga-resistance.info/ |
|
String pattern ......ich verzweifle :( https://forum.amiga-resistance.info/viewtopic.php?f=38&t=3514 |
Seite 2 von 2 |
Autor: | msu [ 11 Feb 2017, 20:27 ] |
Betreff des Beitrags: | Re: String pattern ......ich verzweifle :( |
Hi Tipsi, im Prinzip, so wie ich es haben wollte. Code: Alles auswählen s$ =[[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title></title> </head> <body> HTML Beispiel<br> <br> <br> Beispiel 1:<br> <br> Content: Meine Satzlänge ist immer unterschiedlich. Es können alle möglichen Zeichen vorhanden sein.<br> <br> Beispiel 2:<br> <br> Content: ab........................................<br> <br> </body> </html>]] s$ = PatternFindStrShort(s$,"[Beispiel 1:] .* [Beispiel 2:]") s$,n = PatternReplaceStr(s$,"<br>","") s$,n = PatternReplaceStr(s$,"Beispiel 2","") DebugPrint(s$) Ist doch ein recht komplexes Thema und es gibt leider kaum Hollywood Beispiele. Grüße |
Autor: | msu [ 12 Feb 2017, 15:31 ] |
Betreff des Beitrags: | Re: String pattern ......ich verzweifle :( |
Hallo Hollywood Gemeinde Andreas hat mir auf meine Email Anfrage geantwortet. Er rät generell ab RegEx zum parsen von Html zu benutzen, er empfiehlt das xmlparser Plugin. Ein Link von Ihm: http://stackoverflow.com/questions/1732 ... 54#1732454 Er hat recht, vergesst meine vorangegangene Post, das Muster funktioniert nur in diesem Beispiel. Ein Pattern von Andreas: String$ = "<a>Hallo Welt</a>" DebugPrint(PatternFindStrShort(String$, "<a>([%w%s]+)</a>")) Normalerweise veröffentliche ich kein Email´s oder PN´s, aber ich denke ich hab´s ziemlich neutral/allgemein gehalten. Grüße, Michael |
Autor: | Tipsi [ 13 Feb 2017, 08:56 ] |
Betreff des Beitrags: | Re: String pattern ......ich verzweifle :( |
Salli msu Und? Läuft es mit dem neuen Muster von Andreas? Griessli Tipsi |
Autor: | msu [ 13 Feb 2017, 20:23 ] |
Betreff des Beitrags: | Re: String pattern ......ich verzweifle :( |
Hi Tipsi, ich hatte jetzt nur kurz Zeit zum testen. Ein Beispiel mit wahrlos gewählten Zeichen: Code: Alles auswählen String$ = [[FFFFFF%%%%6se6666/////575"""§33§§§Start%%%///////===\\\\\\\ gjghnjsdfg s...---,,,-,--,-,--,-,-#####++++++++------- dgsdgsdgdEnde$$$&&&><>>>>>gfdghdfhdfhdf dsgsgggsdfgsdf]] DebugPrint(PatternFindStrShort(String$, "Start([%w%s%p]+)End")) Dieses Beispiel parst einen Teil der Hollywood HTML Hilfe (Befehl Sin): Code: Alles auswählen String$ = [[<dt class="autodoc"><b>Function</b></dt><dd> Calculates the sine of the angle x. <p> </dd> <dt class="autodoc"><b>Inputs</b></dt><dd>]] DebugPrint(PatternFindStrShort(String$, "Function</b></dt><dd>([%w%s%p]+)<p>")) Das Pattern habe ich wie Du siehst um %p (Represents all punctuation characters.) erweitert. Du scheinst mir recht erfahren mit dem String-Handling von Hollywood zu sein. Wie entferne ich Zeilenumbrüche aus einem String? Grüße, Michael |
Autor: | Tipsi [ 13 Feb 2017, 22:50 ] |
Betreff des Beitrags: | Re: String pattern ......ich verzweifle :( |
Salli msu Toll, wenn das so mit dem von Dir erweiterten Muster klappt. Die Zeilenumbrüche kannst Du mit dem Befehl ReplaceStr() entfernen oder ersetzen. Mit dieser Zeile kannst Du die Umbrüche entfernen und sie werden nicht ersetzt: Code: Alles auswählen NeuHTML$ = ReplaceStr(AltHTML$, Chr(10), "") einfügen möchtest, dann sieht das so aus: Code: Alles auswählen NeuHTML$ = ReplaceStr(AltHTML$, Chr(10), " ") den gleichen Namen tragen. Chr(10) ist der ASCII-Wert für Zeilenumbrüche (line feed). Eher selten, kann aber auch vorkommen, dass statt line feed Return benutzt wurde. Der ASCII-Wert in diesem Fall wäre Chr(13). Die Schablone für diesen Befehl ist: Code: Alles auswählen var$ = ReplaceStr(s$, search$, replace$[, casesensitive, startpos]) var$ - die neue Zeichenkette s$ - in dieser Zeichenkette wird gesucht search$ - nach dieser Teilkette wird gesucht replace$ - durch diese Teilkette wird ersetzt casesensitive - optional: TRUE berücksichtigt Gross-/Kleinschreibung (voreingestellt), FALSE nicht startpos - optional: Startposition von Suchen & Ersetzen (voreingestellt ist 0) die Unterscheidung zwischen Gross- und Kleinschreibung eingeschaltet ist. Somit ist z.B. <BR> nicht gleich <br>. Wenn Du casesensitive=False setzt, dann beachtet dieser Befehl auch <Br>,<bR>, <BR> und <br>. Griessli Tipsi |
Autor: | msu [ 14 Feb 2017, 17:44 ] |
Betreff des Beitrags: | Re: String pattern ......ich verzweifle :( |
Hallo Tipsi, sehr ausführlich Deine Erklärung, solltet Ihr echt in´s deutsche Hollywood Handbuch übernehmen. Danke. Eventuell erwähnenswert , das unter Windows ein Zeilenumbruch meist LF+CR ist. Code: Alles auswählen ; Start Html Html$ = [[<dt class="autodoc"><b>Function</b></dt><dd> Calculates the sine of the angle x. <p> </dd> <dt class="autodoc"><b>Inputs</b></dt><dd>]] ; End Html LF$ = Chr(10) CR$ = Chr(13) Pattern$ = "Function</b></dt><dd>([%w%s%p]+)<p>" Html$ = ReplaceStr(Html$, LF$, "") Html$ = ReplaceStr(Html$, CR$, "") DebugPrint(PatternFindStrShort(Html$, Pattern$)) Grüße, Michael |
Autor: | Tipsi [ 14 Feb 2017, 20:43 ] | |
Betreff des Beitrags: | Re: String pattern ......ich verzweifle :( | |
Also doch nicht eher selten. Das kommt davon, wenn ich mehr auf dem Amiga in die Tiefe gehe als bei Windows. Griessli Tipsi |
Seite 2 von 2 | Alle Zeiten sind UTC |
Powered by phpBB® Forum Software © phpBB Limited Deutsche Übersetzung durch phpBB.de |