Teile aus einen String löschen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Teile aus einen String löschen

Beitrag von Tsuki-Namida »

hallo,
ich möchte aus einem quellentext eine bestimmte zeichenfolge rauslöschen so das nur noch die gewünschte zeichenfolge bleibt.
die erwünschte zeichen folge ist variabel die ich brasuche.
soweit ist das ja kein problem...
aber es sind dinge mit in der zeile dia auch variabelsind aber weg müssen....

es geht hier bei um ein webradio und deren strewam seite. hier ist die ganze zeile wo die information steht die ich brauche und das ist wirklich nur eine zeile...

Code: Alles auswählen

</font></td><td><font class=default><b><a href="http://www.shoutcast.com/chat.phtml?dc=irc%2Est%2Dcity%2Enet%3A6667%23subway">irc.st-city.net:6667#subway</a></b></td></tr><tr><td width=100 nowrap><font class=default>Current Song: </font></td><td><font class=default><b>Evergrey - When The Walls Go Down</b></td></tr></table><br><table cellpadding=0 cellspacing=0 border=0 width=100%>	<tr><td bgcolor=#DDDDDD  nowrap colspan=5 align=center><table cellspacing=0 cellpadding=0 border=0><tr><td><font class=ltv>Written by Stephen 'Tag Loomis, Tom Pepper and Justin Frankel</font></td></tr></table></td></tr><tr><td nowrap colspan=5 align=center><font class=ST><b><a href="http://www.shoutcast.com/disclaimer.phtml">Copyright Nullsoft Inc</a><a href="/llamacookie">.</a> 1998-2004</b></font></td></tr></table></font></body></html>
ich brauche aus dieser zeile diesen schnipsel: "<b>Evergrey - When The Walls Go Down</b>" dieser kann allerdings variabel sein und der rest muss weg...
diese teile sind auch variabel müssen aber weg:
"http://www.shoutcast.com/chat.phtml?dc= ... 667#subway"

mein problem ist das ich nicht weis wie ich etwas lösche das immer anderst sein kann... wie ich eine bekannte zeichenvolge lösche das weis ich... das mache ich über RemoveString... aber dieser ist ja unbekannt....
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ich würd mal so herangehen:

der Label "Current Song:" ist ja wohl immer identisch.
den wüde ich zuerst suchen, z.b. mit findstring.
von da aus gehe ich dann weiter vor.

die tags die danach folgen, sind die immer identisch?

also kann ich ja einfach "</font></td><td><font class=default><b>" überspringen.
durchgehen in ner schleife, per Mid() checken, ob wirklich alles seine richtigkeit hat,
und wenn die tags vorbei sind, dann kommt mein titel,
und der endet genau 1 zeichen vor dem nächsten "<"

..sollte also machbar sein...

btw. ich würde nicht den rest aufwendig löschen, ich würde den teil den ich brauche in einen zweiten string kopieren.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

mit dem findstring ist klar...

aber wie kann ich bestimmte zeichen überspringen?

PS: ja alles andere ist immer identisch
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

nuja.. wenns garantiert identisch ist, kannst du einfach die länge des zwischenteils dazuaddieren.

sicherer wäre es, wenn du ab der position von "Current Song:"
mittels findstring um fünf ">" weiterspringst.
dann hast du die position, an der der songname beginnt,
und von dort aus liest du bis zum nächsten "<" in deinen namenstring.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

> ja alles andere ist immer identisch
Zwei Mal RemoveString() benutzt und fertig ist die Kiste.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

AND51 hat geschrieben:> ja alles andere ist immer identisch
Zwei Mal RemoveString() benutzt und fertig ist die Kiste.
na denn zeig mal, wie du RemoveString auf den variablen inhalt anwenden willst...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Wer sagt den was von variabel? Der Rest (=alles außer dem Titel) sei doch immer gleich.

Aufgepasst:

Code: Alles auswählen

quelle.s="</font></td><td><font class=default><b><a href="+Chr(34)+"http://www.shoutcast.com/chat.phtml?dc=irc%2Est%2Dcity%2Enet%3A6667%23subway"+Chr(34)+"+Chr(34)+"+Chr(34)+">irc.st-city.net:6667#subway</a></b></td></tr><tr><td width=100 nowrap><font class=Default>Current Song: </font></td><td><font class=Default><b>Evergrey - When The Walls Go Down</b></td></tr></table><br><table cellpadding=0 cellspacing=0 border=0 width=100%>   <tr><td bgcolor=#DDDDDD  nowrap colspan=5 align=center><table cellspacing=0 cellpadding=0 border=0><tr><td><font class=ltv>Written by Stephen 'Tag Loomis, Tom Pepper and Justin Frankel</font></td></tr></table></td></tr><tr><td nowrap colspan=5 align=center><font class=ST><b><a href="+Chr(34)+"http://www.shoutcast.com/disclaimer.phtml"+Chr(34)+">Copyright Nullsoft Inc</a><a href="+Chr(34)+"/llamacookie"+Chr(34)+">.</a> 1998-2004</b></font></td></tr></table></font></body></html>"

#rem1="</font></td><td><font class=default><b><a href="+Chr(34)+"http://www.shoutcast.com/chat.phtml?dc=irc%2Est%2Dcity%2Enet%3A6667%23subway"+Chr(34)+"+Chr(34)+"+Chr(34)+">irc.st-city.net:6667#subway</a></b></td></tr><tr><td width=100 nowrap><font class=Default>Current Song: </font></td><td><font class=Default>"
#rem2="</td></tr></table><br><table cellpadding=0 cellspacing=0 border=0 width=100%>   <tr><td bgcolor=#DDDDDD  nowrap colspan=5 align=center><table cellspacing=0 cellpadding=0 border=0><tr><td><font class=ltv>Written by Stephen 'Tag Loomis, Tom Pepper and Justin Frankel</font></td></tr></table></td></tr><tr><td nowrap colspan=5 align=center><font class=ST><b><a href="+Chr(34)+"http://www.shoutcast.com/disclaimer.phtml"+Chr(34)+">Copyright Nullsoft Inc</a><a href="+Chr(34)+"/llamacookie"+Chr(34)+">.</a> 1998-2004</b></font></td></tr></table></font></body></html>"

Debug RemoveString(RemoveString(quelle, #rem1), #rem2)
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Teile aus einen String löschen

Beitrag von Kaeru Gaman »

Magix-Soft <Kain> hat geschrieben:diese teile sind auch variabel müssen aber weg:
"http://www.shoutcast.com/chat.phtml?dc= ... 667#subway"

mein problem ist das ich nicht weis wie ich etwas lösche das immer anderst sein kann... wie ich eine bekannte zeichenvolge lösche das weis ich... das mache ich über RemoveString... aber dieser ist ja unbekannt....
...wer lesen kann ist klar im vorteil...

du Flitzpiepe.. *knuff* :mrgreen:

(so hatte Fluid dich im Dezember mal genannt... hab mich schlappgelacht als ich das gelesen hab)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

ja alles andere ist immer identisch
War das, was ich gelesen hatte. Das reichte mir.

Aber gut... Du hast es ja nicht anders gewollt...

so hatte Fluid dich im Dezember mal genannt - An was du dich noch alles erinnerst, doh...
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

So, da sach doch noch einer, es geht nich... :lol:

Code: Alles auswählen

text.s="</font></td><td><font class=Default><b><a href="+Chr(34)+"http://www.shoutcast.com/chat.phtml?dc=irc%2Est%2Dcity%2Enet%3A6667%23subway"+Chr(34)+">irc.st-city.net:6667#subway</a></b></td></tr><tr><td width=100 nowrap><font class=Default>Current Song: </font></td><td><font class=Default><b>Evergrey - When The Walls Go Down</b></td></tr></table><br><table cellpadding=0 cellspacing=0 border=0 width=100%>   <tr><td bgcolor=#DDDDDD  nowrap colspan=5 align=center><table cellspacing=0 cellpadding=0 border=0><tr><td><font class=ltv>Written by Stephen 'Tag Loomis, Tom Pepper and Justin Frankel</font></td></tr></table></td></tr><tr><td nowrap colspan=5 align=center><font class=ST><b><a href="+Chr(34)+"http://www.shoutcast.com/disclaimer.phtml"+Chr(34)+">Copyright Nullsoft Inc</a><a href="+Chr(34)+"/llamacookie"+Chr(34)+">.</a> 1998-2004</b></font></td></tr></table></font></body></html>"

b1=FindString(text, "<b>", FindString(text, "Current Song:", 1))+Len("<b>")
b2=FindString(text, "</b>", b1)-1

Debug Mid(text, b1, b2-b1)
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Antworten