Strings trennen - wie?

fabian24

Mitglied
Hallo Allerseits!
Habe ein ziemlich großes Problem:
Ich will Zwei strings die "Differenz" auslesen z.B.
Code:
AnsiString string1 = "C:\Hallo\hallo\test.mp3";
AnsiString string2 = "C:\Hallo\hallo\";
AnsiString string3;
Wie kriege ich es jetzt hin das in string3 "test.mp3" steht? :confused:
Danke im Voraus!
Hoffe ihr könnt mir helfen!
 
Hi.

Ich denke mal, du könntest beide Strings von Anfang an durchlaufen und sobald ein Buchstabe von string1 nicht mit dem Buchstaben aus string2 übereinstimmt, bildest du den SubString ab dieser Position bis zum Ende von string1 und weist das Ergebnis string3 zu.

Eventuell solltest du nochmal genauer spezifizieren was du unter einer Differenz von 2 Strings verstehst.
 
Erstmal vielen Dank für deine Antwort.

Die Idee mit dem SubString ist nicht schlecht, ich hab bis jetzt aber nur mit festen
Stellen darin gearbeitet. Wäre hilfreich wenn du mir mal ein Beischbiel geben könntest.
 
Hallo, so könnest du das eventuell auch lösen:

Code:
AnsiString string1 = ...;
AnsiString string2 = ...;
AnsiString string3 = "";
int length = string2.Length();
length++;
 
while(length<=string1.Length())
{
	 string3 = string3 + string1[length];
	 length++;
}

mfg, andreas
 
Naja, dann ist aber auch egal was im String drin steht, oder wie? D.h. die Strings müssen sich nicht gleichen? Dann könntest du auch Substring nehmen:
Code:
int diff = string1.Length() - string2.Length();

if (diff > 0)
  string3 = string1.SubString(string1.Length () - diff, diff);
 
Zurück