![]() |
In einer URL an den zweiten Punkt kommen
Hi,
wenn ich eine URL hab: ![]() wie komme ich nun an den zweiten Punkt ran? Mit Pos('.', URL) kommt ich nur bis zu dem nach www. Ich bräuchte aber den vor net. |
Re: In einer URL an den zweiten Punkt kommen
|
Re: In einer URL an den zweiten Punkt kommen
Wer sagte das es für die CodeLib ist? :tongue:
|
Re: In einer URL an den zweiten Punkt kommen
Das denke ich mir. ;)
|
Re: In einer URL an den zweiten Punkt kommen
Du kannst das auch mit einer schleife machen:
Delphi-Quellcode:
Hab das aber nicht getestet, muss aber funktionieren
function pospunkt(s:string):integer;
begin for i:=Length(s) downto 1 do begin if s[i]='.' then begin result:=i; Exit; end; end; end; |
Re: In einer URL an den zweiten Punkt kommen
Wenn der Suchstring keinen Punkt enthält, wäre dann das Ergebnis nicht undefiniert? :gruebel:
|
Re: In einer URL an den zweiten Punkt kommen
@XHelp: Deine Funktion müsste die Position, von hinten gesehen, des letzten Punktes liefern, meine ich.
|
Re: In einer URL an den zweiten Punkt kommen
@Dani: Ja. ;)
@Matze: Mensch! |
Re: In einer URL an den zweiten Punkt kommen
Zitat:
|
Re: In einer URL an den zweiten Punkt kommen
Zitat:
Delphi-Quellcode:
function pospunkt(s:string):integer;
var i:integer; firstpunkt:boolean; begin result:=0; firstpunkt:=false; for i:=1 to length(s) do begin if (s[i]='.') and (firstpunkt=true) then begin result:=i; Exit; end; if (s[i]='.') and (firstpunkt=false) then firstpunkt:=true; end; |
Re: In einer URL an den zweiten Punkt kommen
So wär's einfacher:
Delphi-Quellcode:
Aber das spielt ja nun auch keine Rolle. ;)
function PosPunkt(s: string, Anzahl: integer): integer;
var i, Count: integer; begin Count := 0; for i := 1 to Length(s) do begin if s[i] = '.' then inc(Count); if Count = Anzahl then Result := i; end; end; |
Re: In einer URL an den zweiten Punkt kommen
Moin Spider,
willst Du eigentlich immer den zweiten, oder einfach den letzten Punkt haben? In letzterem Falle solltest Du Dir mal die Funktion LastDelimiter anschauen. |
Re: In einer URL an den zweiten Punkt kommen
Und was wäre dann mit einer URL :
"http://127.0.0.1/test.php?a=0.54&b=45.7&do=add" ? |
Re: In einer URL an den zweiten Punkt kommen
hm komplexer geht's immer ;)
lass' erstmal hören, was Spider jetzt genau will. mfg Lars |
Re: In einer URL an den zweiten Punkt kommen
Hab gerade eine funktion geschrieben:
Delphi-Quellcode:
Aus "http://127.0.0.1/test.php?a=0.54&b=45.7&do=add" macht sie "127.0.0.1" und aus "www.delphipraxis.net/test.php?a=0.54&b=45.7&do=add" macht sie "delphipraxis.net"
function GetLink(s:string):String;
var i:integer; lb,le:integer; //Link Begin (nach www, http://) und Link End (/) begin lb:=1; if pos('www.',LowerCase(s))=1 then lb:=5; if pos('http://',LowerCase(s))=1 then lb:=8; le:=Length(s)+1; for i:=lb to Length(s) do begin if s[i]='/' then begin le:=i; Continue; end; end; Result:=Copy(s, lb, ( Length(s) - lb ) - ( Length(s) - le ) ); end; Wenn jetzt zwischen den punkten Integer variablen sind, dann ist das ein IP, wenn nicht, dann eine domain. Und dann einfach weiter improvisieren... Aber wir müssen alle auf Spider warten :cry: :roll: |
Re: In einer URL an den zweiten Punkt kommen
Na, dann brauch ich ja nicht mehr anstrengen ;). XHelp hat genau das was ich machen wollte.
|
Re: In einer URL an den zweiten Punkt kommen
Das hat dir Chak doch
![]() |
Re: In einer URL an den zweiten Punkt kommen
Zitat:
Man muss noch
Delphi-Quellcode:
nach den 2 POS einfügen.
if pos('http://www.',LowerCase(s))=1 then lb:=12;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz