AGB  ·  Datenschutz  ·  Impressum  







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

Wie oft ist ein Zeichen in einem String

Ein Thema von uplink · begonnen am 25. Jan 2007 · letzter Beitrag vom 26. Jan 2007
 
Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#21

Re: Wie oft ist ein Zeichen in einem String

  Alt 25. Jan 2007, 21:07
Zitat von SirThornberry:
Dem Fragesteller ist mit den Lösungen eigentlich recht wenig geholfen. Er kann sich die Funktionen kopieren aber der Lerneffekt ist fast 0
Hast du eigentlich recht... mh... ich kommentier mal meine Methode aus:

Delphi-Quellcode:
function CountSubStr(const SubStr, InStr: string): Cardinal;
var
  // aktuelle Position und Länge des Suchstrings als Cardinal
  Offset, Len: Cardinal;
begin
  // Länge des Suchstrings vorberechnen
  Len := Length(SubStr);
  // Aktuelle Position auf das erste Zeichen setzen
  Offset := 1;
  // Ergebnis ist erst mal 0
  Result := 0;
  // Block wiederholen bis (> 1 <)
  repeat
    // Die Position des nächsten Suchstrings merken
    // PosEx fängt bei der alten Position an zu suchen
    Offset := PosEx(SubStr, InStr, Offset);
    // Wenn ein Suchstring gefunden wurde (Offset ist größer 0)
    if Offset > 0 then
    begin
      // Ergebnis erhöhen
      Inc(Result);
      // Position um die Länge des Suchstrings erhöhen
      Inc(Offset, Len);
    end;
  // (> 1 <) Wenn die Aktuelle Position 0 ist (d.h. es wurde kein Suchstring mehr gefunden) steige aus der Schleife aus
  until Offset = 0;
end;
  Mit Zitat antworten Zitat
 


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:34 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