22. juni 2001 - 09:22Der er
8 kommentarer og 2 løsninger
Tæl bestemt ord og erstat
Er der nogen derude som kan fortælle mig, om der er muligt at tage en tekst streng og tælle alle de gange \"det\" er i sætningen, og derefter erstatte det med et tal.
eks. \"Det spiller det her ja det gør\" bliver til resultat = 3 og \"1 spiller 2 her ja 3 gør\"
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Procedure Erstat(SubStr, Str: String); var C, P: Integer begin C := 0; SubStr := AnsiUpperCase(SubStr); Str := AnsiUpperCase(Str); P := Pos(SubStr, Str); while P > 0 do begin Inc(C); Delete(Str, P, Length(SubStr); Insert(IntToStr(C), Str, P); P := Pos(SubStr, Str); end; end;
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
Description
StringReplace replaces occurrences of the substring specified by OldPattern with the substring specified by NewPattern. StringReplace assumes that the source string, specified by S, may contain Multibyte characters.
If the Flags parameter does not include rfReplaceAll, StringReplace only replaces the first occurrence of OldPattern in S. Otherwise, all instances of OldPattern are replaced by NewPattern.
If the Flags parameter includes rfIgnoreCase, The comparison operation is case insensitive.
Function Erstat(SubStr, Str: String): String; var C, P: Integer begin Result := Str; C := 0; SubStr := AnsiUpperCase(SubStr); Str := AnsiUpperCase(Str); P := Pos(SubStr, Str); while P > 0 do begin Inc(C); Delete(Str, P, Length(SubStr); Delete(Result, P, Length(SubStr); Insert(IntToStr(C), Str, P); Insert(IntToStr(C), Result, P); P := Pos(SubStr, Str); end; end; </SNIP>
martinlind> Nej jeg bryder mig ikke om at \"opfinde\", men kjoller eftersprugte en rutine der kunne erstatte en given \"String\" med et fortløbende nummer, og den StringReplace du referrere til erstatter \"blot\" en String med en anden.
Martinlind> Skulle jeg selv havde brug for en lignende routine havde jeg nok (alt efter omstændighederne) taget min \"Opfinder-kasket\" på og brugt en Boyer-Moore routine i stedet for POS da der er himmel-og-hav til forskel på deres performance :-)
Det er så\'n det går når musikken spiller - jeg tror vi alle har svarret i Vest når der blev spurgt i Øst (eller fordi \"folk\" ikke var gode nok til at stille deres spørgsmål, så \"det lød\" som om de spurgte i Øst).
PS: Det minder mig om min tidligere stilling hvor jeg bl.a. skulle supportere brugere i Litauen. Der \"legede\" vi ofte \"gæt et spørgsmål\" det var mere reglen end undtagelsen at det store problem var ikke at hjælpe dem, men det var at finde ud af hvad det var de skulle ha\' hjælp til :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.