Hallo ich möchte einen String ab einem gewissen Zeichen trennen
string IP1;
IP1 = "123.123.123.123-124.124.124.124";
IP1 = IP1.Remove(IP1.IndexOf('-'), IP1.Length);
Leider bekomme ich die Fehlermeldung: System.ArgumentOutOfRangeException: Der Index und die Anzahl müssen sich auf eine Position in der Zeichenfolge beziehen.
Mit C++ würde das funktionieren (mit find() und length() )
Wenn du dir IndexOf('-') & die Length in Zwischenvariablen holst und debuggst müsstest du deinen Fehler sehr schnell finden 😃
Es gibt noch die Variante mit String.Split() , damit machst du dir das Leben in diesem Fall wohl etwas leichter 😃
https://msdn.microsoft.com/de-de/library/tabh47cf(v=vs.110).aspx
Zum Fehler: einfach mal die Parameterbeschreibung durchlesen. 👍
Der zweite Parameter will keinen Index für die Endposition, sondern die Länge, die der Substring haben soll.
Dein String hat 31 Zeichen.
Du willst nun einen String erzeugen, der ebenfalls 31 Zeichen hat - aber ab Position 16.
Das kann nur knallen 😉
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hab mit .Split auch Probleme.
Hab erstmal das '-' Zeichen gegen '.' ausgetauscht.
Orig_Zeile = Orig_Zeile.Replace('-', '.');
Soweit so gut.
Nun will ich den String in einzelne Strings aufsplitten:
string words[] = Orig_Zeile.Split('.');
Der Typ "string[]" kann nicht implizit in "string" konvertiert werden.
Laut dem Internet müsste das aber funktionieren 😦
Du hast noch zu sehr die C und C++ Syntax drauf. 😉
In C# gehören die Klammern zum Datentyp:
string[] words = Orig_Zeile.Split('.');
Als kleine Lektüre zum Thema Arrays empfiehlt sich dann auch direkt das Handbuch von Microsoft samt den Unterkapiteln.
Link:
https://docs.microsoft.com/de-de/dotnet/csharp/programming-guide/arrays/
Nachtrag:
Und auch die statische Array Klasse mit ihren Hilfsmethoden sollte nicht unerwähnt bleiben.
Link:
https://msdn.microsoft.com/de-de/library/system.array(v=vs.110).aspx
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.