string an einem bestimmten Zeichen abschneiden



  • Hallo,

    also irgendwie scheint die Suchfunktion nicht zu funktionieren
    deshalb frag ich mal einfach:

    Wie kann ich denn am besten einen string beim vorkommen eines ','
    aufteilen und in zwei unterschiedliche Strings schreiben.

    z.B.
    string = ABC,DEF

    string1 = ABC

    string2 = DEF

    Vielleicht kann mir jemand Helfen.

    Danke.



  • Hallo
    Folgende Methoden verwenden:
    Pos()
    SubString()

    Gruß
    BCBuilder Anfänger



  • Ich würde es so machen. Vielleicht geht es auch einfacher, aber mir fällt gerade nichts ein.

    void main ()
    {
      char String = "ABC,DEF";
      char Str1[20], Str2[20];
      bool fSplit = false;
      int zaehler;
    
      for (zaehler = 0; (zaehler < strlen(String))&&(!fSplit); zaehler++)
        if (String[zaehler] == 39)
          fSplit = true;
    
      memcpy (Str1, String, zaehler-1);
      Str1[zaehler] = 0; //Stringende setzen
    
      memcpy (Str2, String+zaehler+1, strlen(String)-zaehler);
      Str2[(strlen(String)-zaehler)+1] = 0;
    }
    

    Müsste eigentlich funktionieren. Ich hab's aber nicht ausprobiert.

    Maffe



  • Ich denke, so geht es einfacher:

    AnsiString s = "abc,def";
    AnsiString s1 = s.SubString(1, s.Pos(',') - 1);
    AnsiString s2 = s.SubString(s.Pos(',') + 1, s.Length());
    

    Gruß
    BCBuilder Anfänger



  • Vielen Dank!


Anmelden zum Antworten