17. maj 2005 - 15:24Der er
4 kommentarer og 1 løsning
sammneligning af to tekster
Jeg har brug for et reg.exp. der sammenligner to strenge og fortæller om de har mindst ét ord til fælles. Eksempel: string1 = "jeg går en tur" string2 = "Det er min tur nu" Da begge strenge indeholder ordet "nu" returneres true. Min tanke var at man kunne lave ét udtryk, der kunne håndtere dette fremfor at gennemløbe den ene streng og lave patternmatching på et ord ad gangen.
Et eksempel med C#-syntaks - håber du alligevel kan læse det:
string Tekst1 = "Alfa Beta Gamma Delta"; string Tekst2 = "Et radioaltivt henfald involverende alfa partikler er ikke så farligt som et med beta parikler";
// Et eller andet som vi ved ikke forekommer, med // mellemrum i begge sider for ikke at ødelægge word-boundaries string SkilleSekvens = " XXXXXX "; string Pattern = @"\b(?<user>[a-zæøå]+?)\b.*" + SkilleSekvens + @".*\b\1\b"; string Tekst = Tekst1 + SkilleSekvens + Tekst2;
Regex RE = new Regex(Pattern, RegexOptions.IgnoreCase); if (RE.IsMatch(Tekst)) Console.WriteLine("Der er et ord som går igen i de to tekster"); else Console.WriteLine("Der er ikke noget ord som går igen i de to tekster.");
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.