Laden...

String bei Zeichen trennen - leider Out-Of-Range

Erstellt von simp123 vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.897 Views
S
simp123 Themenstarter:in
4 Beiträge seit 2018
vor 5 Jahren
String bei Zeichen trennen - leider Out-Of-Range

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() )

301 Beiträge seit 2009
vor 5 Jahren

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

S
simp123 Themenstarter:in
4 Beiträge seit 2018
vor 5 Jahren

Okay Danke. 8)

16.834 Beiträge seit 2008
vor 5 Jahren

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 😉

S
simp123 Themenstarter:in
4 Beiträge seit 2018
vor 5 Jahren

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 😦

4.939 Beiträge seit 2008
vor 5 Jahren

Du hast noch zu sehr die C und C++ Syntax drauf. 😉
In C# gehören die Klammern zum Datentyp:

string[] words = Orig_Zeile.Split('.');
S
simp123 Themenstarter:in
4 Beiträge seit 2018
vor 5 Jahren

Heiliger Bimbam das hätte ich nie gesehen ^^

Danke danke.

T
2.224 Beiträge seit 2008
vor 5 Jahren

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.