Seite 1 von 3

Teile aus einen String löschen

Verfasst: 25.04.2007 15:42
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....

Verfasst: 25.04.2007 15:56
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.

Verfasst: 25.04.2007 16:00
von Tsuki-Namida
mit dem findstring ist klar...

aber wie kann ich bestimmte zeichen überspringen?

PS: ja alles andere ist immer identisch

Verfasst: 25.04.2007 16:11
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.

Verfasst: 25.04.2007 16:18
von AND51
> ja alles andere ist immer identisch
Zwei Mal RemoveString() benutzt und fertig ist die Kiste.

Verfasst: 25.04.2007 16:31
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...

Verfasst: 25.04.2007 16:36
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)

Re: Teile aus einen String löschen

Verfasst: 25.04.2007 16:46
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)

Verfasst: 25.04.2007 16:52
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...

Verfasst: 25.04.2007 16:58
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)