^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


Anmelden zum Antworten