AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Prüfen, ob Anfang eines Strings stimmt

Ein Thema von DenSchub · begonnen am 9. Jul 2007 · letzter Beitrag vom 9. Jul 2007
Antwort Antwort
DenSchub

Registriert seit: 4. Jun 2006
Ort: Balingen
209 Beiträge
 
#1

Prüfen, ob Anfang eines Strings stimmt

  Alt 9. Jul 2007, 17:21
Hallo.

Ich häng grad an nem kleinen Tool...
Ich will prüfen, ob die ersten 7 Zeichen eines Strings = einem anderen String machen.
Wie mache ich das??

Dennis

Meine Kristallkugel ist kaputt
Dennis Schubert
Ground Zero is nichts gegen mein Schreibtisch.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Prüfen, ob Anfang eines Strings stimmt

  Alt 9. Jul 2007, 17:23
Pos('1234567', vergleichstext) = 1
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
DenSchub

Registriert seit: 4. Jun 2006
Ort: Balingen
209 Beiträge
 
#3

Re: Prüfen, ob Anfang eines Strings stimmt

  Alt 9. Jul 2007, 17:26


...Danke...

Ich leide an Gedächtnisschwund...

Dennis
Dennis Schubert
Ground Zero is nichts gegen mein Schreibtisch.
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#4

Re: Prüfen, ob Anfang eines Strings stimmt

  Alt 9. Jul 2007, 17:33
Zitat von Bernhard Geyer:
Pos('1234567', vergleichstext) = 1
Bei seeeehr langen Strings könnte auch das kopieren der ersten 7 Zeichen sinnvoll sein

Delphi-Quellcode:
if copy(string, 1, 7) = vergleichstring then
...
Stimmt natürlich nur, wenn ich richtig liege und Delphi erstmal Pos auswertet. Dann würden auch alle hinteren Stellen betrachtet werden, ohne dass dies relevant ist. Greift hier die Codeoptimierung nehme ich es natürlich gerne zurück! (Perfomancegewinn dürfte eh erst bei sehr langen Strings entstehen)

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Prüfen, ob Anfang eines Strings stimmt

  Alt 9. Jul 2007, 17:34
wobei pos nicht die optimale Lösung ist. Denn wenn der String 5000000 Zeichen lang ist und die Zeichen nicht vorkommen oder nicht am Ende sind wird trotzdem bis zum Ende der String durchsucht was eine weile dauern kann.
Je nach Delphiversion gibt es da spezielle Funktionen. Bei allen Delphiversionen sollte folgendes funktionieren:
Delphi-Quellcode:
if (copy(fullstr, 1, Length(substr)) = substr) then
  //gefunden
oder CompareMem verwenden.

@Der_Unwissende: Die Codeoptimierung könnte da nicht greifen denn sonst müsste sie die Funktion pos ändern und das macht so gut wie keine automatische Codeoptimierung.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#6

Re: Prüfen, ob Anfang eines Strings stimmt

  Alt 9. Jul 2007, 17:39
Zitat von SirThornberry:
@Der_Unwissende: Die Codeoptimierung könnte da nicht greifen denn sonst müsste sie die Funktion pos ändern und das macht so gut wie keine automatische Codeoptimierung.
Hab im Moment viel mit funktionaler Programmierung gearbeitet, wenn man das ganze mit Bedarfsauswertung angeht, dann würde es halt gut optimiert werden, natürlich klar, dass das kaum ein Optimierer ernsthaft machen dürfte, aber ich wollte mich mal nicht zu weit aus dem Fenster lehnen.
  Mit Zitat antworten Zitat
DenSchub

Registriert seit: 4. Jun 2006
Ort: Balingen
209 Beiträge
 
#7

Re: Prüfen, ob Anfang eines Strings stimmt

  Alt 9. Jul 2007, 17:39
Naja, es handelt sich um einen URL-Konvertor, also wird der String wohl nicht 50000 zeichen lang sein.
Trozdem danke, werde es mir merken.

Dennis
Dennis Schubert
Ground Zero is nichts gegen mein Schreibtisch.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz