Neral
Mitglied
Hi, ich wieder.
Also,soweit klappt ja alles bei mir, nur irgendwie haenge ich gerade bei einer for-Schleife.
Sagen wir mal der String "eingabecode" ist =
"dSI(0001);dSI(0001);dSI(0001);"
-> Ergebnis = dSI(0001dSI(0001
soweit OK.
Wenn ich nun aber als Eingabe nur
"dSI(0001);dSI(0001);" eingebe, meckert er:
Der Index liegt außerhalb des gültigen Bereichs. Der Index darf keine negative Zahl und muss kleiner als die Auflistungsgröße sein. Parametername: startIndex
endPos = eingabecode.IndexOf(suchebis,startPos);
Ok das liegt dann wohl an der Endbedingung der for-Schleife.
Nun meine Frage:
Wenn ich als Eingabe eine nicht bestimmte Anzahl von "Paaren" bekommen, also
Eingabe:
"....asdasd....asdasd....dSI(0001);....dSI(0002);..asd...dSI(0008);.....sdasd..2132..."
Nun moechte ich die dSI(0001 rausfiltern, dabei ist egal ob ");" und/oder "dSI(" abgeschnitten ist.
Wie muss die Endbedingung in der for-Schleife lauten damit der ganze Text durchlaufen wird
Hier die Methode:
Gruss
Also,soweit klappt ja alles bei mir, nur irgendwie haenge ich gerade bei einer for-Schleife.
Sagen wir mal der String "eingabecode" ist =
"dSI(0001);dSI(0001);dSI(0001);"
-> Ergebnis = dSI(0001dSI(0001
soweit OK.
Wenn ich nun aber als Eingabe nur
"dSI(0001);dSI(0001);" eingebe, meckert er:
Der Index liegt außerhalb des gültigen Bereichs. Der Index darf keine negative Zahl und muss kleiner als die Auflistungsgröße sein. Parametername: startIndex
endPos = eingabecode.IndexOf(suchebis,startPos);
Ok das liegt dann wohl an der Endbedingung der for-Schleife.
Nun meine Frage:
Wenn ich als Eingabe eine nicht bestimmte Anzahl von "Paaren" bekommen, also
Eingabe:
"....asdasd....asdasd....dSI(0001);....dSI(0002);..asd...dSI(0008);.....sdasd..2132..."
Nun moechte ich die dSI(0001 rausfiltern, dabei ist egal ob ");" und/oder "dSI(" abgeschnitten ist.
Wie muss die Endbedingung in der for-Schleife lauten damit der ganze Text durchlaufen wird
Hier die Methode:
PHP:
private string filtern()
{
string eingabecode = TextBox1.Text;
TextBox1.Text = "";
ArrayList artikel = new ArrayList();
//Such Strings von bis
string suchevon = "dSI(";
string suchebis = ");";
//Position ermitteln
int startPos = eingabecode.IndexOf(suchevon,0);
int endPos = eingabecode.IndexOf(suchebis,startPos);
for(int i = 0; i < 2;i++)
{
if(startPos>-1 && endPos>-1)
{
artikel.Add( eingabecode.Substring( startPos, (endPos-startPos)) );
}
else return "FEHLER";
startPos = eingabecode.IndexOf(suchevon,endPos);
endPos = eingabecode.IndexOf(suchebis,startPos);
}
.
.
.
}
Gruss