der ansatz die trennzeichen zu zählen ist ja ganz interessant, aber es gibt alle möglichen arten von trennungen, manchmal^würden^menschen sowas sogar zusammenschreiben, was macht man da? sich mal meinen vorschlag anhören
wörter bilden sich im regelfall aus buchstaben, dafür sind sie bekannt, also warum nicht sobald ein wort anfängt den counter erhöhen und bis zum ende des wortes weitergehen? konkret sähe das folgendermaßen aus...
Delphi-Quellcode:
function WordCount(const S: string): Integer;
const ValidChars = ['a'..'z','A'..'Z','ä','ö','ü','Ä','Ö','Ü','ß'];
var P: PChar;
begin
Result := 0;
if S = '' then Exit;
P := Pointer(S);
repeat
if P^ in ValidChars then begin
while (P^ in ValidChars) and (P^ <> #0) do
Inc(P);
Inc(Result);
end else Inc(P);
until P^ = #0;
end;