^String untersuchen
-
Entwicklungsumgebung: Visual Studio Express
Ich fülle ein DataSet mit Werten aus einer Access-Datenbank. Dabei handelt es sich um Textzeilen mit Platzhaltern (Beispiel: "Die Anwendung wurde wegen Fehler-Nr: %d geschlossen.")
Danach will ich überprüfen, ob zwei zusammengehörende Elemente die gleichen Platzhalter enthalten. In ANSI-C hatte ich damit keine Probleme, da der String dort ja ein Char-Array ist und man Zeichen für Zeichen überprüfen kann.
Kann mir einer helfen, wie man das bei einem .NET-String macht ?Meine ANSI-C-Variante um die Platzhalter zu finden:
int istPlatzhalter(char Zeichen) { if (Zeichen==37) // 37 entspricht % return 1; return 0; } int istEnde(char Zeichen) { if ((Zeichen=='h') || (Zeichen=='l') || (Zeichen=='L')) return 0; if ((Zeichen>=65) && (Zeichen<=90) || (Zeichen>=97) && (Zeichen<=122)|| (Zeichen==37)) return 1; return 0; } void BildePlatzhalter(char Text[255]) { int i=0,j=0; while (Text[i]!='\0') { if (istPlatzhalter(Text[i])==0) i++; else /* %-Zeichen in Text gefunden */ { Platzhalter[j++]=Text[i++]; while ((istEnde(Text[i])==0) && (Text[i]!='\0')) Platzhalter[j++]=Text[i++]; Platzhalter[j++]=Text[i++]; } } Platzhalter[j]='\0'; }
-
Schaue dir doch mal die System::String Klasse an.
Simon