Autor Beitrag
M-Cha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67



BeitragVerfasst: Fr 30.10.09 12:26 
Ich habe einen Regex erstellt der durscht eine Datei nach einem String. Dann nimmt er diesen String und gibt das Wort aus, das nach VEREIN steht aus.

Manchmal kommt es vor, das das Wort "Verein" mehrmals mit dem selben Wort dahinter kommt. WIe stelle ichd as jetzt an, das er nur jeweils einmal nur das ausgibt, was hinter VErein steht und nicht doppelt das selbe?

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
           Regex verein = new Regex("(?i)(VEREIN\\s).*?\\.\\s", RegexOptions.Singleline);

           MatchCollection vn = verein.Matches(template);

           for (int a = 0; a < vn.Count; a++)
           {
               //string pattern = @"((?i)(VEREIN)|(\s))*(?<Tabelle1>.*?)\(.*";
               string pattern = @"((?i)(VEREIN)|(\s))+(?<5>[^\s\(]+)";

               Match match1 = Regex.Match(vn[a].Value, pattern);

               if (match1.Success)
               {
                   runs.Add(match1.Groups[5].Value);
               }
           }
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Fr 30.10.09 13:18 
Ich würde einfach deine Ergebnisse überprüfen obs schonmal vorkam.
Deine Variable "runs" sieht nach einer List<string> aus und stellt dir somit die dafür benötigte Funktionalität schon zur verfügung.
M-Cha Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67



BeitragVerfasst: Fr 30.10.09 14:27 
user profile iconbakachan hat folgendes geschrieben Zum zitierten Posting springen:
Ich würde einfach deine Ergebnisse überprüfen obs schonmal vorkam.
Deine Variable "runs" sieht nach einer List<string> aus und stellt dir somit die dafür benötigte Funktionalität schon zur verfügung.


Richtig! ISt oben so definiert!

ausblenden C#-Quelltext
1:
public Collection<string> runs      = new Collection<string>();					


Also gibt es dafür eine MEthode? Muss ich mal schauen!
M-Cha Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67



BeitragVerfasst: Mi 04.11.09 11:53 
Es ist ein Collection<string>!

Leider häng ich etwas!
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Mi 04.11.09 12:22 
user profile iconM-Cha hat folgendes geschrieben Zum zitierten Posting springen:
Leider häng ich etwas!

Meine Kristallkugel bleibt dunkel, woher soll man wissen wo es diesmal hängt?
M-Cha Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67



BeitragVerfasst: Mi 04.11.09 15:51 
user profile iconbakachan hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconM-Cha hat folgendes geschrieben Zum zitierten Posting springen:
Leider häng ich etwas!

Meine Kristallkugel bleibt dunkel, woher soll man wissen wo es diesmal hängt?


Die Kugel kann weg bleiben.!

Das kann man so lösen:

ausblenden C#-Quelltext
1:
2:
3:
4:
if ( !runs.Contains ( progs))
                   {
                       tables.Add(progs);
                   }


Der schaut ob ein Wert doppelt ist! Wenn ja, gibt er in nicht aus! Fertig!